2015-04-20 2 views
1

Предположим, что у меня есть коллекции, как это:Вычислить среднее значение MongoDB документа

{ 
    _id: 1, 
    city: "New York", 
    state: "NY", 
    murders: 328 
} 

{ 
    _id: 2, 
    city: "Los Angeles", 
    state: "CA", 
    murders: 328 
} 

... 

Коллекция показывает нам количество убийств во всех городах США. Я бы хотел рассчитать среднее число убийств по всей стране. Я пытался использовать

$group: 

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

Но я получаю в результате убийства от государства:

{ "_id" : "NY", "murders" : 200 } 

{ "_id" : "NJ", "murders" : 150 } 

{ "_id" : "CA", "murders" : 230 } 

{ "_id" : "CT", "murders" : 120 } 

Мой вопрос, как я могу группе этот результат для вычисления уникального среднего? Что-то вроде этого:

{ "_id" : "USA", "murders" : 175 } 

ответ

10

Попробуйте сгруппировать по null.

db.murders.aggregate ([{$ группа: {_id: нулевая, поп: {$ ср: "$" убийства}}}])

More info

Смежные вопросы