我正在尝试实现 $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 方法来获取计数,而不是使用 find 方法,我的需要是如何在执行获取计数时在 C# 查询中设置 $maxTimeMS?
CountOptions
,它与 FindOptions
基本相同,所以你可以这样做:
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();