Skip to main content

Чим replaceOne() відрізняється від updateOne()?

Різниця в тому, що updateOne() змінює лише вказані поля, а replaceOne() повністю замінює документ новим.

Коротко:

МетодЩо робить
updateOne()Оновлює обрані поля за допомогою операторів ($set, $inc, $unset тощо)
replaceOne()Повністю замінює весь документ на новий, окрім _id

Приклад updateOne() (часткове оновлення):

js
db.users.updateOne( { name: "Alex" }, { $set: { age: 26 } } )
  • зміниться лише поле age, решта лишиться як була.

Приклад replaceOne() (повна заміна):

js
db.users.replaceOne( { name: "Alex" }, { name: "Alex", age: 26, verified: true } )
  • старий документ видалиться й буде замінений новим (якщо у старому були інші поля, вони зникнуть).

Підсумок для junior:

updateOne() - оновлює частково. replaceOne() - перезаписує документ цілком.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.