C# Mongo 查询 $maxTimeMS 的计数

问题描述 投票:0回答:1

我正在尝试实现 $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?

c# .net mongodb .net-4.5
1个回答
1
投票

嗯,有

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();
© www.soinside.com 2019 - 2024. All rights reserved.