2016-09-08 114 views
0

我有這種結構的集合:MongoDB的總框架錯誤

{ "_id" : "01002", "city" : "CUSHMAN", "loc" : [ -72.51564999999999, 42.377017 ], "pop" : 36963, "state" : "MA" } 

我想使用聚合框架來執行此查詢:

db.US.aggregate([{$group:{_id:{"state":"$state"}}, sum:{$sum:"$pop"}}]) 

我「米收到此錯誤: 」命令'集合'失敗:異常:流水線階段規範對象必須包含一個字段。 (響應:{「errmsg」:「例外:一個流水線階段規範對象只能包含一個字段。」,「code」:16435,「ok」:0.0})「

我得到這個錯誤,貌似很簡單的一個 任何人可以幫助 感謝

回答

3

沒錯你的括號都有些不正常的

db.US.aggregate([{$group:{_id:{"state":"$state"}}, sum:{$sum:"$pop"}}]) 

變化:

db.US.aggregate([{$group:{_id:{"state":"$state"}, sum:{$sum:"$pop"}}}]) 

編輯:其實這是更好的:

db.US.aggregate([ 
    {$group:{_id:"$state", sum:{$sum:"$pop"}}} 
]) 

,因爲它導致一個平坦的文件中,而不是一組ID的:

{ "_id" : "MA", "sum" : 36963 } 
+0

我明白了,謝謝! –

+0

請參閱編輯以獲得更好的輸出。 – dyouberg

+0

你是完全正確的,再次感謝 –