2017-03-02 1 views
0

読書のMongoDBマニュアルの集約についてaggregation操作、私はthisを見つけた:マルチフィールド

db.orders.aggregate(
    [ 
     { $match: { status: "A" } }, 
     { $group: { _id: "$cust_id", total: { $sum: "$amount" } } }, 
     { $sort: { total: -1 } } 
    ], 
    { 
     explain: true 
    } 

しかし、私はおよそcust_idphoneを集約することができますどのようにphoneという名前の別のフィールドを、持っていると仮定?

{ $group: { _id: {"$cust_id", "$phone"}, total: { $sum: "$amount" } } }, 

しかし、私はこの振る舞いたい

EDIT

動作しません:

SELECT SUM(amount) 
FROM orders 
GROUP BY cust_id, phone 

をしかし、私はこれを持って、私は次のように試してみた

エラー(私はMongoChef Iによってスクリーンショットを添付する必要があります)テキストのエラーすることはできません。

enter image description here

+2

*は問題ありません。あなたは何を期待していますか? –

+0

可能な複製:http://stackoverflow.com/questions/22932364/mongodb-group-values-by-multiple-fields – RudyVerboven

答えて

2

説明するためには何もありません。それは間違った構文です。オブジェクトにはフィールド値だけでなく、フィールド名も必要です。例:

{ $group: { _id: {id:"$cust_id", phone:"$phone"}, total: { $sum: "$amount" } } }, 
+0

ありがとう!それは非常に簡単です、私のせいです! –

関連する問題