关于通过MongoDB .Net驱动程序查询的评论?

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

阅读MongoDB性能疑难解答,我发现MongoDB支持在查询后附加注释。我们以为可以将相关性添加到查询中,以便可以关联哪些功能导致查询缓慢,并且/或者如果可以发现mongodb中的某些缓慢性,则可以检查是否在何时发现某个功能缓慢。

我们如何通过.net驱动程序向查询和/或命令添加注释?

mongodb mongodb-.net-driver
1个回答
0
投票

我们如何通过.net驱动程序向查询和/或命令添加注释?

您可以利用FindOptions.Comment在查询或命令上设置注释。例如:

var collection = database.GetCollection<MyObject>("collectionName");

var filter = Builders<MyObject>.Filter.Eq("Name", "Foo");

FindOptions myFindOptions = new FindOptions();
myFindOptions.Comment = "THIS IS FEATURE XYZ"; 

var cursor = collection.Find<MyObject>(filter, myFindOptions).ToList();

一旦您通过database profiler设置了db.setProfilingLevel(),就可以查询(database).system.profile集合以找到它。例如:

db.system.profile.find({
    ns:"dbName.collectionName", 
    "command.comment":"THIS IS FEATURE XYZ"
}); 

// Example result:
{   
    "op": "query",   
    "ns": "dbName.collectionName",   
    "command": {
         "find": "collectionName",
         "filter": {
             "Name": "Foo"
         },
         "comment": "THIS IS FROM FEATURE XYZ",
         "$db": "dbName",
         "lsid": {
              "id": UUID("6b722166-f50b-409c-85f0-2711633baff2"))
         }   
    },
 ....
}

以上.NET / C#代码段是使用MongoDB .NET/C# driver v2.9.3编写的。

© www.soinside.com 2019 - 2024. All rights reserved.