Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про MongoDB: addtoset, push, mongodb, array, uniqueness

Что такое оператор $addToSet в MongoDB и чем он отличается от $push?

Этот вопрос проверяет знание операторов MongoDB для работы с массивами в документах, а именно различие между $addToSet и $push.

Короткий ответ

Оператор $addToSet добавляет значение в массив, только если его нет в этом массиве, предотвращая дубли. В отличие от него, оператор $push добавляет элемент в массив без проверки на дубли.

Длинный ответ

Что такое $addToSet? Оператор $addToSet используется в MongoDB для добавления значения в массив, только если это значение отсутствует в массиве. Это гарантирует, что в массиве будут храниться только уникальные элементы.

Как это работает: MongoDB проверяет, существует ли уже значение в массиве. Если значение есть, оно не добавляется. Если значение отсутствует, оно добавляется в массив.

Пример использования $addToSet:

db.collection.update(
  	{ _id: 1 },
  	{ $addToSet: { tags: "mongodb" } }
);

Если "mongodb" еще нет в массиве tags, оно будет добавлено. Если же "mongodb" уже есть, массив останется неизменным.

Как это отличается от $push?

  • $push всегда добавляет новое значение в массив, независимо от того, есть ли оно уже в массиве. Это может привести к появлению дубликатов.

  • $addToSet гарантирует, что в массиве не будет дубликатов, добавляя только уникальные значения.

Пример использования $push:

db.collection.update(
  	{ _id: 1 },
  	{ $push: { tags: "mongodb" } }
);

В этом примере "mongodb" будет добавлено в массив tags, даже если оно уже там есть.

Используйте $addToSet, когда нужно сохранить уникальные элементы в массиве, и $push, когда дубликаты допустимы.

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • MongoDB

    MongoDB

Ключевые слова

#addtoset

#push

#mongodb

#array

#uniqueness

Подпишись на Python Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.