1

我正在使用 C# 2.0.0 驱动程序在 Visual Studio 中使用 MongoDB。(我是 MongoDB 3.* 的新手,也是 Visual Studio / C# 的新手,但在 python、java 和 MongoDB 2.6 方面有些经验)

我正在研究一个与研究相关的主题,因此需要能够指定操作应该使用哪个索引并获得解释结果。(我想获得解释 BsonDocument,而不是匹配的文档。)

我知道如何做其中任何一个,以便解释:(这里也投影到 BsonDocument 中,因为集合不是 BsonDocument 类型)

var options = new FindOptions
        {
            Modifiers = new BsonDocument("$explain", true)                
        };

BsonDocument explain = await coll.Find(filter, options).Project(new BsonDocument()).FirstOrDefaultAsync();

或使用指定的索引:

var options = new FindOptions
        {
            Modifiers = new BsonDocument("$hint", "IndexName")                 
        };

var cursor = await coll.Find(filter, options).ToListAsync();

但我不明白如何也将索引提示添加到 Modifier 参数?

有可能两者都做吗?

4

0 回答 0