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>
?
它工作正常。 .. 非常感謝你.... –