我看到他们返回完全相同的东西,为什么要使用另一个呢?
代码:
const explainQuery = collection.find().sort({last_modified:-1}).limit(1);
const researchQuery = collection.find().sort({last_modified:-1}).limit(1);
const explain = explainQuery.explain('executionStats');
researchQuery.toArray(function(err, data) {
func(err, data, explain);
})
答案 0 :(得分:0)
explain接受一个可选参数,它是一个回调函数。您传递的字符串将被忽略,该函数将返回Promise:https://github.com/mongodb/node-mongodb-native/blob/2.2/lib/cursor.js#L1067
似乎值allPlansExecution
在驱动程序https://github.com/mongodb/node-mongodb-native/blob/fa0fbc0c4966dfaaf76f35c4de2e80876f53e825/lib/apm.js#L424中是硬编码的。