Bob*_*way 9 mongodb mongodb-.net-driver
使用MongoDB的c#驱动程序,我可以轻松地构建一个查询,然后我可以添加SetSkip()和SetLimit()参数来将结果集限制为一定的大小.
但是我希望能够在不执行查询并将整个结果集(可能很大)加载到内存中之前应用Skip和Take之前知道查询的项目数.
看起来我可以通过使用count()命令直接通过shell对MongoDB执行此操作.例如:
db.item.find( { "FieldToMatch" : "ValueToMatch" } ).count()
Run Code Online (Sandbox Code Playgroud)
这只返回一个整数,这正是我想要的.但我在文档中看不到通过C#驱动程序执行此操作的方法.可能吗?
(应该注意的是,我们已经广泛使用了查询构建器,所以理想情况下我宁愿通过查询构建器执行此操作,而不是通过驱动程序向shell发出命令,如果可能的话.但如果这是唯一的话解决方案然后一个例子会有所帮助,谢谢.)
干杯,马特
And*_*ich 15
你可以这样做:
var server = MongoServer.Create("mongodb://localhost:27020");
var database = server.GetDatabase("someDb");
var collection = database.GetCollection<Type>("item");
var cursor = collection.Find(Query.EQ("FieldToMatch" : "ValueToMatch"));
var count = cursor.Count();
Run Code Online (Sandbox Code Playgroud)
一些说明:
| 归档时间: |
|
| 查看次数: |
11608 次 |
| 最近记录: |