Med replaceOne()
du kan bara ersätta hela dokumentet medan updateOne()
tillåter uppdatering av fält.
Sedan replaceOne()
ersätter hela dokumentet - fält i det gamla dokumentet som inte finns i det nya kommer att gå förlorade. Med updateOne()
nya fält kan läggas till utan att förlora fälten i det gamla dokumentet.
Till exempel om du har följande dokument:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key3" : 3333
}
Använder:
replaceOne({"_id" : ObjectId("0123456789abcdef01234567")}, { "my_test_key4" : 4})
resulterar i:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key4" : 4.0
}
Använder:
updateOne({"_id" : ObjectId("0123456789abcdef01234567")}, {$set: { "my_test_key4" : 4}})
resulterar i:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key3" : 3333.0,
"my_test_key4" : 4.0
}
Observera att med updateOne()
du kan använda uppdateringsoperatorerna på dokument.