0
这里我正在尝试将Bson Document列表转换为Class列表。这样做的主要目的是过滤Json数据列表中的数据。我正在为我的数据库和C#使用MongoDb来处理数据。我已经存储了一些数据在MongoDB中,并试图使用过滤FilterDefinition
这样的数据:如何将List <BsonDocument>转换为C#中的<Class>列表
PROCESS 1
FileContext context = new FileContext();
var collection = context.Db.GetCollection<BsonDocument>("DBCollection");
var builder = Builders<BsonDocument>.Filter;
FilterDefinition<BsonDocument> Filter = builder.Eq("FileName", fileDetail.FileName) & builder.Eq("FileNumber", fileDetail.FileNumber.ToString());
var list = await collection.Find(Filter).ToListAsync();
这样,我没能得到列表中的数据。因此,我尝试了另一种方式是这样的:
过程2
FileContext context = new FileContext();
var collection = context.Db.GetCollection<BsonDocument>("DBCollection");
var list = await collection.Find(_ => true).ToListAsync();
List<MyClass> objList = null;
foreach (var item in objList)
{
objList = new List<MyClass>();
objList.Add(BsonSerializer.Deserialize<MyClass>(item));
}
if(objList.Count >0)
{
int count = objList.Where(x => x.FileName == "SOME_FILE_NAME" && x.FileNumber == 1).Count();
}
这样我能够得到的数据,并能过滤数据很好,但我知道这是不是很好的编程所有这些将会有很多waiting time
如果未来的数据量增加。
这里我的问题是:
- 有什么不对
PROCESS 1
? - 如何转换
List<BsonDocument>
至List<MyClass>
? - 如何过滤
List<BsonDocument>
?
它工作正常。 .. 非常感谢你.... –