使用$ maxTimeMS

时间:2015-07-13 10:12:49

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

我正在尝试实现$ maxTimeMS,而我正在尝试从C#MongoDB获取我的过滤器的计数。我无法理解这样做。有人可以帮我吗?。

我的C#代码:

var doc = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(jsonQuery);           
var query = new QueryDocument(doc);
long Count = base.Collection.Count(query);

我正在尝试实际执行的Mongo Shell命令

db.MyCollection.find({ "$query": {"Age" : 101}, "$maxTimeMS": 100 } )

但是在我的C#Mongo中我使用Count Method来获取计数而不使用find方法,我需要的是如何在执行计数时在C#查询中设置$ maxTimeMS?

1 个答案:

答案 0 :(得分:1)

CountOptionsFindOptions基本相同,所以你可以这样做:

var options = new CountOptions
        {
            MaxTime = TimeSpan.FromSeconds(3)
        };

long Count = base.Collection.Count(query,options);

甚至只是:

var options = new FindOptions
        {
            MaxTime = TimeSpan.FromSeconds(3)
        };

long Count = base.Collection.Find(query,options).Count();