我正在寻找一种方法来检索聚合的executionStats
。
使用find()时,我可以使用explain轻松检索它们。 示例输出:
"executionStats": {
"nReturned": 332505,
"executionTimeMillis": 1349,
"totalKeysExamined": 332505,
"totalDocsExamined": 332505,
...
但是当使用aggregations with explain enabled 时,它不会返回上面显示的统计数据。
This和this是相关的,但没有给出可行的解决方案。因为这可能在此期间发生了变化,我打开了这个问题。
如果不测量客户端的统计数据,有没有办法做到这一点?
答案 0 :(得分:8)
目前(MongoDB 3.2)聚合不支持executionStats,在aggreagation中使用explain选项可以获得与查询相关的一些数据,但其中没有executionStats。建议你可以在这里检查它的状态
https://jira.mongodb.org/browse/SERVER-19758
如果您想尽快实施,请提出问题。
答案 1 :(得分:2)
我能够通过以下方式完成:
db.myUserCollection.explain("executionStats").aggregate([{$match: {firstName: "John"} }]);
答案 2 :(得分:1)
对我来说,它的工作原理是这样的,您已经从3.5.5版中修复了该问题
它显示了执行计划和其他指标。
select Distinct Zone, location from dbo.globalLocations where zone = 'ZoneSE'
zone Location
ZoneSE FL1
ZoneSE FL2
ZoneSE FL3
ZoneSE GA1
ZoneSE GA2
ZoneSE AL1
ZoneSE AL2
ZoneSE SC1
ZoneSE SC2
答案 3 :(得分:0)
executionStats。该问题已在v3.6中修复。
即db.videos.explain('executionStats').aggregate([])