Med replaceOne()
du kan kun erstatte hele dokumentet, mens updateOne()
giver mulighed for at opdatere felter.
Siden replaceOne()
erstatter hele dokumentet - felter i det gamle dokument, der ikke er indeholdt i det nye, vil gå tabt. Med updateOne()
nye felter kan tilføjes uden at miste felterne i det gamle dokument.
For eksempel hvis du har følgende dokument:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key3" : 3333
}
Bruger:
replaceOne({"_id" : ObjectId("0123456789abcdef01234567")}, { "my_test_key4" : 4})
resulterer i:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key4" : 4.0
}
Bruger:
updateOne({"_id" : ObjectId("0123456789abcdef01234567")}, {$set: { "my_test_key4" : 4}})
resulterer i:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key3" : 3333.0,
"my_test_key4" : 4.0
}
Bemærk, at med updateOne()
du kan bruge opdateringsoperatørerne på dokumenter.