c# – MongoCursor.Count vs … IAsyncCursor.Count?
发布时间:2020-12-15 22:16:34 所属栏目:百科 来源:网络整理
导读:有没有人知道遗留MongoCursor的等效’Count’方法在哪里但在新驱动程序(IAsyncCursor)中?或者任何人都知道如何使用2.0异步驱动程序/方法复制它? 我们的想法是通过分页(跳过和限制)查询文档,只有一个数据库命中,获取文档,返回文档的计数和没有LIMIT的所有文
有没有人知道遗留MongoCursor的等效’Count’方法在哪里但在新驱动程序(IAsyncCursor)中?或者任何人都知道如何使用2.0异步驱动程序/方法复制它?
我们的想法是通过分页(跳过和限制)查询文档,只有一个数据库命中,获取文档,返回文档的计数和没有LIMIT的所有文档的计数 使用MongoDB C#传统驱动程序,我曾经这样做过: MongoCursor<SaleOrderModel> result = collection.FindAs<SaleOrderModel>(query); result.setSkip(20); result.setLimit(10); var saleOrders = result.ToList<SaleOrderModel>(); // 'limited' documents var size = result.Size(); // Count of 'limited' documents var count = result.Count(); // Count of all documents found (even if they are not returned) 解决方法
您可以使用
Find 返回的
IFindFluent fluent查询界面使用2.0驱动程序执行此操作:
// Create the IFindFluent<SaleOrderModel> query. var collection = db.GetCollection<SaleOrderModel>("saleOrders"); var filter = Builders<SaleOrderModel>.Filter.Eq(so => so.vendorId,5); var query = collection.Find(filter); // Get the count of all docs matching the query. var count = await query.CountAsync(); // Execute the query with skip and limit. var saleOrders = await query.Skip(20).Limit(10).ToListAsync(); var size = saleOrders.Count(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |