Pomocí replaceOne()
můžete nahradit pouze celý dokument, zatímco updateOne()
umožňuje aktualizaci polí.
Od replaceOne()
nahradí celý dokument - pole ve starém dokumentu, která nejsou obsažena v novém, budou ztracena. Pomocí updateOne()
lze přidat nová pole, aniž by došlo ke ztrátě polí ve starém dokumentu.
Pokud máte například následující dokument:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key3" : 3333
}
Použití:
replaceOne({"_id" : ObjectId("0123456789abcdef01234567")}, { "my_test_key4" : 4})
výsledkem je:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key4" : 4.0
}
Použití:
updateOne({"_id" : ObjectId("0123456789abcdef01234567")}, {$set: { "my_test_key4" : 4}})
výsledkem je:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key3" : 3333.0,
"my_test_key4" : 4.0
}
Všimněte si, že pomocí updateOne()
můžete použít operátory aktualizace dokumentů.