Mongo C#驱动程序2.0 – 无需获取文档即可查找计数

一般计数查询将执行a

int count = collection.Find(filter).Count(); 

现在按照filter加载所有记录,所以我说我有100万条记录,其中有50万条与我的filter匹配,所以我的集合已经填满了0.5个文档。 如果你想要这些文件就足够了,但是如果你只是想知道计数而不是真的需要这些文件呢?

我可以这样做吗?

 int count = collection.Find(filter).SetLimit(1).Count(); 

这给了我与第一个表达式相同的计数,但我希望内存不会被用作第一个表达式,帮助我知道找到“计数”的正确方法而不加载所有文档。 谢谢。

您需要使用显式的CountAsync方法而不是Find

 long result = await collection.CountAsync(Builders.Filter.Eq(_ => _.Name, "bar"));