我正在使用MongoDB 3.0.4,我有一个数据库,我想聚合数据.这个问题,需要的时间比它应该的要长.我完成了我的作业(至少我猜到了),我看到了函数explain()以及关于聚合和索引优化的大量提示,但即便如此,我仍然怀疑.
让我烦恼的是我无法在聚合光标上正确使用explain()函数.当然,您可以选择直接传递给聚合函数,但它不允许您更改详细程度.
我可以使用find().explain("executionStats").有用.我还使用了强制聚合返回游标的选项.然而,我不能做任何形式的事情:
db.coll.aggregate( ... { cursor : { batchSize : 0}}).explain("executionStats")
要么
var a = db.coll.aggregate( ... { cursor : { batchSize : 0}})
a.explain("executionStats")
另一方面 :
db.coll.explain("executionStats").aggregate( ... )
工作,但使用错误的冗长程度,我无法得到我想要的信息......
所以,实际的查询是:
`
db.pmsi.aggregate([
{ $match : { $GHM_Obtenu : { $in : ["040M51", "04M052"] } } },
{ $project : { "_id" : 0, "$GHM_Obtenu" : 1 } },
{ $group : {
_id : { "$GHM_Obtenu" },
count : { $sum : 1 } }
} …Run Code Online (Sandbox Code Playgroud) mongodb ×1