Чтобы удалить конкретный элемент из поля массива в MongoDB, используй оператор $pull в команде updateOne или updateMany. Он автоматически удаляет все совпадающие значения из массива без необходимости знать индекс элемента.
db.users.updateOne(
{ name: "John" },
{ $pull: { skills: "Java" } }
)
updateOne — нацелен на первый документ, соответствующий фильтру{ name: "John" } — фильтр, который определяет документ для обновления$pull — оператор обновления, который удаляет совпадающие элементы из массива{ skills: "Java" } — указывает поле массива (skills) и значение для удаления ("Java")$pull удаляет все вхождения совпадающего значения, а не только первоеupdateMany вместо updateOne, чтобы применить изменение к нескольким документам$pull также поддерживает условия, позволяя удалять элементы, которые соответствуют выражению запроса, а не только точному значениюОператор $pull удаляет все вхождения значения, соответствующего условию, из поля массива в одной операции.
Новый — ещё не проверен сообществом
Вы