gpt4 book ai didi

c# - MongoCursor.Count 与... IAsyncCursor.Count?

转载 作者:可可西里 更新时间:2023-11-01 09:15:11 26 4
gpt4 key购买 nike

有谁知道旧版 MongoCursor 的等效“计数”方法在哪里,但在新驱动程序 (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)

最佳答案

您可以使用 IFindFluent 对 2.0 驱动程序执行此操作Find返回的流畅查询接口(interface):

// 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();

关于c# - MongoCursor.Count 与... IAsyncCursor.Count?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31217280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com