Что такое оператор $push в MongoDB и как он работает?
Этот вопрос проверяет знание о том, как добавлять элементы в массивы в MongoDB с помощью оператора $push.
Короткий ответ
Оператор $push в MongoDB используется для добавления элементов в массив в документе. Он добавляет указанное значение или значения в конец массива. Пример использования:
db.collectionName.update({ _id: ObjectId("documentId") }, { $push: { fieldName: valueToPush } })Длинный ответ
Оператор $push позволяет модифицировать массивы внутри документа. Этот оператор добавляет элементы в конец массива, увеличивая его размер.
Пример использования: Пусть у вас есть коллекция пользователей, и каждому пользователю принадлежит массив с его интересами. Чтобы добавить новый интерес для пользователя, вы можете использовать $push:
db.users.update(
{ _id: ObjectId("userId") },
{ $push: { interests: "coding" } }
)В результате, в массив interests будет добавлен новый элемент "coding".
Особенности:
- $push можно использовать для добавления нескольких элементов сразу, используя синтаксис с массивом:
db.users.update(
{ _id: ObjectId("userId") },
{ $push: { interests: { $each: ["sports", "music"] } } }
)- Можно использовать дополнительные операторы, такие как $slice, чтобы ограничить размер массива:
db.users.update(
{ _id: ObjectId("userId") },
{ $push: { interests: { $each: ["coding"], $slice: -5 } } }
)Этот запрос будет добавлять интересы в массив, но оставлять только последние 5 интересов.
Оператор $push в MongoDB полезен для добавления новых элементов в массивы внутри документов, с возможностью добавления нескольких элементов и дополнительных опций для управления размером массива.