【发布时间】:2015-06-07 16:14:28
【问题描述】:
我已经使用 1.0 和 2.0 用于 MongoDb 的 c# 驱动程序构建了一个示例应用程序。
它们序列化相同的对象,我可以同时使用这两个对象进行写入并从 1.0.0 中读取。但我无法在 2.0 中使用 FindAsync 给我任何结果。
这是我的 1.0 查询,它返回一个文档:
var results = collection.AsQueryable<FlatCatalogItem>()
.FirstOrDefault(c => c.BatchId == "2015.01.27"
&& c.Upcs.Any(u => u.UPC == "123456803"));
我的 2.0 查询使用与 FindAsync 相同的数据如下所示:
var task = collection.FindAsync(item => item.BatchId == "2015.01.27"
&& item.Upcs.Any(u => u.UPC == "123456803"));
task.Wait();
var results = task.Result;
从 result 返回的AsyncCursor 中没有任何内容。
results.MoveNextAsync().Wait(); // results.Current.Count = 0
这可能是我对 async 和 await 的无知,或者我可能错过了 2.0 find 方法的其他内容? 请注意,我不想使用legacy 2.0 drivers
【问题讨论】:
标签: c# .net mongodb async-await mongodb-.net-driver