为什么不能通过nodejs驱动程序设置解释详细选项?

时间:2019-01-22 09:34:02

标签: mongodb

我正在使用nodejs驱动程序连接到MongoDB,并尝试使用Cursor.explain方法来解释查询性能。有关此API的文档来自http://mongodb.github.io/node-mongodb-native/3.1/api/Cursor.html#explain。我不知道为什么它没有详细选项的参数。在MongoDB Shell中,describe方法支持三种不同的选项:'queryPlanner','executionStats','allPlansExecution'。为什么我不能通过驱动程序设置它们?

1 个答案:

答案 0 :(得分:1)

刚刚发现自己需要上述操作(默认情况下.explain()运行executionStats变体,这可能会非常慢),解决方法是:

db.command({
  explain: {
    find: "collectionName",
    filter: {...},
    ...
  },
  verbosity: "queryPlanner"
});

请参阅:https://docs.mongodb.com/manual/reference/command/explain/#dbcmd.explain以获取更多详细信息