sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cuál es la diferencia entre replaceOne() y updateOne() en MongoDB?

Con replaceOne() solo puede reemplazar el documento completo, mientras que updateOne() permite actualizar campos.

Desde replaceOne() reemplaza todo el documento:los campos del documento anterior que no estén incluidos en el nuevo se perderán. Con updateOne() se pueden agregar nuevos campos sin perder los campos del documento anterior.

Por ejemplo, si tiene el siguiente documento:

{
   "_id" : ObjectId("0123456789abcdef01234567"),
   "my_test_key3" : 3333
}

Usando:

replaceOne({"_id" : ObjectId("0123456789abcdef01234567")}, { "my_test_key4" : 4})

da como resultado:

{
   "_id" : ObjectId("0123456789abcdef01234567"),
   "my_test_key4" : 4.0
}

Usando:

updateOne({"_id" : ObjectId("0123456789abcdef01234567")}, {$set: { "my_test_key4" : 4}})

da como resultado:

{
   "_id" : ObjectId("0123456789abcdef01234567"),
   "my_test_key3" : 3333.0,
   "my_test_key4" : 4.0
}

Tenga en cuenta que con updateOne() puede utilizar los operadores de actualización en los documentos.