Mongodb c#2.0驱动程序,如何查找或如何在哪里和哪里以及所有计数()

本文关键字:在哪里 何查找 驱动程序 c#2 查找 Mongodb | 更新日期: 2023-09-27 17:57:29

在mongodb C#2.0驱动程序中

    ···   var lists = base.Collection.Aggregate();
        if (cId > 0)
        {
            lists = lists.Match(n => n.cId == cId);
        }
        if (!string.IsNullOrEmpty(spell))
        {
            lists = lists.Match(n => n.Spell == spell || n.Name == spell);
        }
        //  var count = lists.count();
      var results = lists.ToListAsync().GetAwaiter().GetResult()

···

是的,是的,

但我想知道列出了所有的count(),到Skip()Limit()

在mongodb 1.x驱动程序中

var lists = base.collection.AsQueryable().where(n => n.cId == cId).where(n => n.Spell == spell || n.Name == spell));
var count = lists.count();
var result = lists.skip(10).limit(20).tolist();

我的问题:

如果Match是对的。如何获得Matchs结果所有count(),如果使用Match不是完美的方式,如何编写此代码

Mongodb c#2.0驱动程序,如何查找或如何在哪里和哪里以及所有计数()

这就是您想要的吗?

从集合获取所有计数

IMongoCollection<T>.CountAsync(new BsonDocument()).Result

指定计数的where语句

var filter = Builders<Trailer>.Filter.Eq("YourFieldName", "match value");
IMongoCollection<T>.CountAsync(filter).Result;

获取所有收集并使用跳过并限制

IMongoCollection<T>.Find(new BsonDocument()).Skip(skip).Limit(limit)
                .ToListAsync().Result;