insertMany()
Вставка нескольких документов.
db.orders_name.insertMany([{ id: 1, customer: "Olga", product: "Apple", amount: 15.55, city: "Berlin" }])
Summary 16 повторяет создание коллекций, insertMany, удаление и редактирование документов.
Главная практическая тема недели — aggregation pipeline.
Коллекция users используется для вставки 4 документов и обновления возраста через $inc.
Коллекция movies тренирует sort и project: показать title/year и скрыть _id.
Домашнее задание orders повторяет countDocuments, sort, limit, $in и $group.
В $group можно считать сумму покупок по customer через $sum: "$amount".
Для уникальных городов Ольги сначала нужен $match по customer, затем $group по city.
Топ-3 ошибки: путать find().count() и countDocuments(), забывать _id: 0 в project, ставить $group до нужного $match.
Вставка нескольких документов.
db.orders_name.insertMany([{ id: 1, customer: "Olga", product: "Apple", amount: 15.55, city: "Berlin" }])
Массовое изменение числового поля.
db.users_name.updateMany({}, { $inc: { age: 3 } })
Подсчёт документов по фильтру или без него.
db.orders_name.countDocuments({ product: "Apple" })
Выборка топ-N документов.
db.orders_name.find({}, { id: 1, _id: 0 }).sort({ amount: -1 }).limit(3)
Проверка значения по списку вариантов.
db.orders_name.countDocuments({ product: "Apple", city: { $in: ["Berlin", "Madrid"] } })
Сумма по группе.
db.orders_name.aggregate([{ $group: { _id: "$customer", total: { $sum: "$amount" } } }])
Локальный каталог MongoDB: справочник MongoDB. SQL-операторы предыдущих блоков: справочник SQL.