Con replaceOne()
puoi sostituire solo l'intero documento, mentre updateOne()
consente di aggiornare i campi.
Poiché replaceOne()
sostituisce l'intero documento - i campi del vecchio documento non contenuti nel nuovo andranno persi. Con updateOne()
nuovi campi possono essere aggiunti senza perdere i campi nel vecchio documento.
Ad esempio se hai il seguente documento:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key3" : 3333
}
Usando:
replaceOne({"_id" : ObjectId("0123456789abcdef01234567")}, { "my_test_key4" : 4})
risulta in:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key4" : 4.0
}
Usando:
updateOne({"_id" : ObjectId("0123456789abcdef01234567")}, {$set: { "my_test_key4" : 4}})
risulta in:
{
"_id" : ObjectId("0123456789abcdef01234567"),
"my_test_key3" : 3333.0,
"my_test_key4" : 4.0
}
Nota che con updateOne()
puoi utilizzare gli operatori di aggiornamento sui documenti.