MongoDB - как удалить _id: null из совокупного результата? - PullRequest
0 голосов
/ 20 марта 2020

Интересно, кто-нибудь может помочь? Я новичок в использовании MongoDB и только изучаю агрегаты и прогнозы. Я пытаюсь усреднить результаты details.age .

Наконец-то я смог обработать некоторый код, который получает средний результат.

db.docs.aggregate([{$group: {_id:null, "Average": {$avg:"$details.age"} } }])

Кто-нибудь знает, как я могу удалить "_id" : null в возвращенном результате запроса?

Я пытался удалить «_id»: null из самого запроса, но это необходимо для $ group. Я также пробовал различные варианты запроса, вставляя {_id: 0}, _id: 0, но я получаю ошибки.

QUERY

db.docs.aggregate([{$group: {_id:null, "Average": {$avg:"$details.age"} } }])

РЕЗУЛЬТАТ

{ "_id" : null, "Average" : 33 }

Query returning

Заранее спасибо.

1 Ответ

0 голосов
/ 21 марта 2020

Вы можете просто спроецировать это поле из результата, используя этап $ project

db.docs.aggregate([
    {$group: {_id:null, "Average": {$avg:"$details.age"} } },
    {$project: { _id: 0} }    
]);

Если вы используете MongoDB 4.2, вы также можете использовать этап $ unset:

db.docs.aggregate([
    {$group: {_id:null, "Average": {$avg:"$details.age"} } },
    {$unset: "_id" }    
]);
...