阅读有关aggregation
操作的MongoDb文档,我发现this:
db.orders.aggregate(
[
{ $match: { status: "A" } },
{ $group: { _id: "$cust_id", total: { $sum: "$amount" } } },
{ $sort: { total: -1 } }
],
{
explain: true
}
)
但是,假设我有另一个名为phone
的字段,我如何汇总cust_id
和phone
?
我尝试过如下:
{ $group: { _id: {"$cust_id", "$phone"}, total: { $sum: "$amount" } } },
但是没有工作
修改
我想要这种行为:
SELECT SUM(amount)
FROM orders
GROUP BY cust_id, phone
但我有这个错误(我必须附上截图,因为MongoChef我可以发现文字错误):
答案 0 :(得分:2)
没有什么可以解释的。它的语法错误。对象应具有字段名称,而不仅是字段值。 E.g:
{ $group: { _id: {id:"$cust_id", phone:"$phone"}, total: { $sum: "$amount" } } },