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

时间:2015-09-11 10:59:49

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

一般计数查询将执行

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

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

我可以做这样的事吗

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

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

1 个答案:

答案 0 :(得分:10)

您需要使用明确的CountAsync方法,而不是Find

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