我使用的是 MongoDB 3.4.7 版
我在视图中使用聚合 $group,因为记录非常大,需要更多时间来响应。
发现选项 allowDiskUse:true 可以用于聚合,但遗憾的是它在 Mongo DB 视图中不受支持。
Mongodb aggregate $group stage takes a long time
https://jira.mongodb.org/browse/SERVER-27440
我使用的聚合查询是:
db.test.drop();
db.createView (
“测试”,
“服务”,
[
{
$匹配:{
$和:[
{“状态”:“成功”},
{“adminState”:“启用”}
]
}
},
{
$组:{
_id: "$name"
}
},
{
$组:{
_id:ObjectId(),
计数:{$sum:NumberInt(1)}
}
},
{
$项目:{
"_id":1,"TotalCount":"$count"
}
}
]
);
我的要求是在 $match 之后,我想根据名称(不同名称)获取总数。 对此的任何帮助将不胜感激。