【问题标题】:Need a simple count of a collection with specific criteria需要对具有特定条件的集合进行简单计数
【发布时间】:2015-08-26 17:27:25
【问题描述】:

我需要一个用户名为“john”的集合的计数。

没有 .where 或 .asqueryable.... 什么都没有!

到目前为止,这是我的代码:

MongoClient client = new MongoClient();
var mDB = client.GetDatabase("TempTables");
var collection = mDB.GetCollection<waveWorksheetForDB>("waveWorksheet");

如何编写一个返回符合上述条件的计数的查询?

mongoDb 驱动程序:2.0.1

【问题讨论】:

标签: c# .net mongodb mongodb-.net-driver


【解决方案1】:

只要CountAsync

var count = await collection.Find(x => x.Name == "John").CountAsync();

【讨论】:

    【解决方案2】:

    如果 mDB.GetCollection("waveWorksheet") 返回一个集合,那么您应该拥有 .Cast()。 这将返回一个 IEnumerable,您将能够使用普通的 Linq

    var collection = mDB.GetCollection<waveWorksheetForDB>("waveWorksheet");
    int count = collection.Cast<waveWorksheetForDB>.Count();
    

    【讨论】:

      【解决方案3】:

      根据cannot do asqueryable on mongodb collection,您缺少命名空间。

      using MongoDB.Driver.Linq;
      

      【讨论】:

      • 我尝试添加程序集,但它没有显示在智能中
      • @boruchsiper 新驱动还没有 linq。
      猜你喜欢
      • 2018-05-19
      • 2021-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-11
      • 1970-01-01
      • 1970-01-01
      • 2022-06-25
      相关资源
      最近更新 更多