在最新版本的 C# 驱动程序中,10gen 似乎已经转移到他们的 .find() 方法的类型更丰富的版本。似乎 MongoCollection.Find(IMongoQuery) 已被弃用,取而代之的是 MongoCollection.FindAs(Type, IMongoQuery)。这很好(尽管我没有看到文档中任何地方提到的弃用);但是,MongoCursor 不再包含 .ToList() 方法。为了解决这些缺失的方法,我尝试使用 MongoCursor.IEnumerableGetEnumerator(),但我的 IDE 抱怨这不是一个有效的方法。
为了简化我的问题,下面是我正在做的代码段,新驱动程序是如何完成的?
var queryResult = collection.Find(Query.And(largeQueryList[i])).ToList();
try { result = queryResult.Sum(w => w[valueField].ToDouble()); }