В MongoDB $set и $unset — это операторы обновления, используемые для изменения полей в документе. Они служат противоположным целям.
$set$set присваивает значение полю. Если поле ещё не существует, MongoDB создаст его автоматически.
db.users.updateOne(
{ _id: 1 },
{ $set: { status: "active" } }
)
Используй $set, когда хочешь:
$unset$unset полностью удаляет поле из документа. Значение, указанное в запросе, не имеет значения — важно только имя поля.
db.users.updateOne(
{ _id: 1 },
{ $unset: { status: "" } }
)
Используй $unset, когда хочешь:
Главное различие в том, что $set изменяет или создаёт поле, тогда как $unset полностью исключает его из структуры документа. Ни одна из этих операций не затрагивает остальные поля документа.
Оператор $set создаст новое поле в документе, если его еще нет, тогда как $unset ничего не сделает, если поля нет.
Новый — ещё не проверен сообществом
Вы