如何在MongoDB 3.4.10中获取执行状态以进行聚合?

时间:2018-06-30 05:41:57

标签: mongodb aggregation-framework

如何获取MongoDB聚合查询的执行时间?

我尝试过:

db.collection.explain("executionStats").aggregate(
[ { '$match': { '$and': [ { 'meta.client_id': { '$eq': 1 } },
  { 'meta.is_deleted': { '$ne': 1 } } ] } },
  { '$group':
     { _id: '$Plant',
       value: { '$sum': 1 } } },
  { '$sort': { _id: 1 } } ]
)

但这将返回阶段queryPlannerwinningPlanrejectedPlans,而不是 executionStats 。我想获取查询执行时间(以毫秒为单位)。

1 个答案:

答案 0 :(得分:1)

在MongoDB 3.6之前,对aggregate命令的解释仅支持默认的queryPlanner详细模式,并忽略了其他任何选项(请参阅:SERVER-19758)。

您需要将MongoDB服务器升级到3.6或更高版本,才能将additional verbosity modesaggregate命令一起使用。