В MongoDB 4 я работаю с коллекцией, которая содержит документ документов, который содержит цифры. Я хочу сложить все эти числа.
Запрос, который прямо сейчас выплевывает весь документ:
db.metadata.aggregate([
{
$match:{
"download-md5-checksum":"419f21233097c5f7bcd937a2c94b8032"
}
},
{
$group:{
_id:"$xled.xled-bad-counts",
count:{
$sum:1
}
}
},
{
$project:{
"xled.xled-bad-counts":"$_id",
count:1,
_id:0
}
}
]).pretty()
{
"count" : 1,
"xled" : {
"xled-bad-counts" : {
"left-engine-accessory-gearbox-count" : 7,
"left-engine-accessory-gearbox-minimum" : 2,
"left-engine-accessory-gearbox-maximum" : 2,
"left-engine-accessory-gearbox-total" : 3
}
}
}
Я знаю о функции $sum
, но считаю, что она хочет работать с массивом, однако мои данные организованы как документ документов.
Как я могу использовать команды оболочки MongoDB для правильного агрегирования и выполнения суммирования? Я хотел бы, чтобы мой вывод был просто
{count: 453}