Met replaceOne()
je kunt alleen het hele document vervangen, terwijl updateOne()
maakt het mogelijk om velden bij te werken.
Sinds replaceOne()
vervangt het hele document - velden in het oude document die niet in het nieuwe staan, gaan verloren. Met updateOne()
nieuwe velden kunnen worden toegevoegd zonder de velden in het oude document te verliezen.
Als u bijvoorbeeld het volgende document heeft:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key3" : 3333
}
Gebruik:
replaceOne({"_id" : ObjectId("0123456789abcdef01234567")}, { "my_test_key4" : 4})
resulteert in:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key4" : 4.0
}
Gebruik:
updateOne({"_id" : ObjectId("0123456789abcdef01234567")}, {$set: { "my_test_key4" : 4}})
resulteert in:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key3" : 3333.0,
"my_test_key4" : 4.0
}
Merk op dat met updateOne()
u kunt de update-operators op documenten gebruiken.