Агрегатный метод в MongoDB Compass?
Как указано в заголовке, у меня возникли некоторые проблемы при обращении к MongoDB Compass с использованием совокупного метода. У меня есть коллекция документов в этой форме:
{"Array":[{"field":"val","field2":"val2"},{"field":"val","field2":"val2"},{"field":"val","field2":"val2"},{"field":"val","field2":"val2"},{"field":"val","field2":"val2"},...]}
используя mongo shell или программное обеспечение Studio 3T, я запрашиваю его с помощью агрегатного метода, следуя примеру:
db.collection.aggregate([
{ $match: {"Array.field": "val"}},
{ $unwind: "$Array"},
{ $match: {"Array.field": "val"}},
{ $group: {_id: null, count: {$sum:NumberInt(1)}, Array: {$push: "$Array"}}},
{ $project: {"N. Hits": "$count", Array:1}}
])
где я ищу элементы массива, который имеет значение поля = "val" и подсчитываю их. Это прекрасно работает, но я не знаю, как сделать то же самое в MongoDB Compass
в панели запросов у меня есть "фильтр", "проект" и "сортировка", и я могу делать обычные запросы, но я не знаю, как использовать агрегатный метод. Спасибо
0 ответов
Вы смотрите на вкладку Документы, которая ограничена для запросов документов.
Взгляните на вторую вкладку под названием Aggregations, где вы, как обычно, можете выполнять свои конвейеры агрегирования.
Для получения дополнительной информации посетите документацию по построителю конвейера агрегации.