С replaceOne()
можете да замените само целия документ, докато updateOne()
позволява актуализиране на полета.
Тъй като replaceOne()
заменя целия документ - полетата в стария документ, които не се съдържат в новия, ще бъдат загубени. С updateOne()
нови полета могат да се добавят, без да се губят полетата в стария документ.
Например, ако имате следния документ:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key3" : 3333
}
Използване на:
replaceOne({"_id" : ObjectId("0123456789abcdef01234567")}, { "my_test_key4" : 4})
води до:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key4" : 4.0
}
Използване на:
updateOne({"_id" : ObjectId("0123456789abcdef01234567")}, {$set: { "my_test_key4" : 4}})
води до:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key3" : 3333.0,
"my_test_key4" : 4.0
}
Имайте предвид, че с updateOne()
можете да използвате операторите за актуализиране на документи.