Среда агрегирования MongoDB предоставляет мощные инструменты для манипулирования и анализа данных. В этой статье мы рассмотрим различные методы, доступные в Aggregation Framework, а также примеры кода для выполнения сложных манипуляций с данными в MongoDB.
- Метод проекта:
Метод$projectпозволяет выбирать определенные поля из документов и изменять форму вывода. Это полезно для фильтрации и преобразования данных. Вот пример, в котором выбираются поля «имя», «кухня» и «адрес» из коллекции «рестораны» и ограничивается результат пятью документами:
db.restaurants.aggregate([
{
$project: {
"name": 1,
"cuisine": 1,
"address": 1
}
},
{
$limit: 5
}
])
<старый старт="2">
Метод
$matchфильтрует документы на основе заданных условий. Он похож на метод find, но работает в рамках конвейера агрегации. Вот пример, который извлекает рестораны с типом кухни «Итальянская»:db.restaurants.aggregate([
{
$match: {
cuisine: "Italian"
}
}
])
- Метод группировки.
Метод$groupгруппирует документы по указанному полю и вычисляет совокупные значения. Это полезно для выполнения расчетов и создания сводной статистики. Вот пример, в котором рестораны группируются по кухням и подсчитывается количество для каждой кухни:
db.restaurants.aggregate([
{
$group: {
_id: "$cuisine",
count: { $sum: 1 }
}
}
])
- Метод сортировки.
Метод$sortсортирует документы на основе указанных полей. Это полезно для упорядочивания вывода на основе определенных критериев. Вот пример сортировки ресторанов по возрастанию их названий:
db.restaurants.aggregate([
{
$sort: {
name: 1
}
}
])
- Метод ограничения.
Метод$limitограничивает количество документов, возвращаемых в результате. Это полезно для разбивки на страницы или получения ограниченного подмножества данных. Вот пример, который извлекает первые 10 ресторанов:
db.restaurants.aggregate([
{
$limit: 10
}
])
Среда агрегирования MongoDB предлагает широкий спектр методов манипулирования и анализа данных. В этой статье мы рассмотрели $project, $match, $group, $sortи $limitвместе с примерами кода. Используя эти методы, вы можете выполнять сложные манипуляции с данными, получать значимую информацию и оптимизировать запросы в MongoDB.