我尝试通过一些订单从集合中获取数据:
db.data.aggregate([
{$limit: 1000},
{$group: {
_id: "$service",
count: {$sum: 1},
data: {$push: '$$ROOT'}
}}
]);
但是得到下一个错误:
Error("Printing Stack Trace")@:0
()@src/mongo/shell/utils.js:37
([object Array])@src/mongo/shell/collection.js:866
@(shell):6
uncaught exception: aggregate failed: {
"errmsg" : "exception: FieldPath field names may not start with '$'.",
"code" : 16410,
"ok" : 0
}
我哪里出错了?
答案 0 :(得分:12)
因此,根据评论,你需要一个MongoDB版本2.6来做到这一点。但当然使用2.6这对我有用:
db.collection.aggregate([
{ "$limit": 1000 },
{ "$group": {
"_id": null,
"count": { "$sum": 1},
"data": { "$push": "$$ROOT" }
}}
])