У меня есть коллекция MongoDB с записями в следующем формате:
[
{ "item1": { "a": 1 }, "item2": { "a": 2 } },
{ "item1": { "a": 3 }, "item3": { "a": 4 } },
{ "item1": { "a": 5 }, "item2": { "a": 6 } },
]
Я хочу получить количество записей, имеющих поля item1
, item2
и item3
(они не Не обязательно быть динамическим c. У меня есть только конечный набор элементов). Мне нужно количество записей с полем, существующим следующим образом:
{ "item1": 3, "item2": 2, "item3": 1 }
Чтобы получить количество item1
, я делаю следующее:
db.collection.find({ "item1": { $exists: true }}).count()
Есть ли простой способ агрегировать количество всех трех элементов в одном запросе?