Чим 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
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.