MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Каква е разликата между replaceOne() и updateOne() в MongoDB?

С 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() можете да използвате операторите за актуализиране на документи.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как мога да направя заявка за mongodb с помощта на mongoid/rails без изтичане на времето?

  2. Mongoose и множество бази данни в един проект node.js

  3. Как да получите целия брой на модела мангуста?

  4. Как да използвам spring data mongo @CompoundIndex с подколекции?

  5. Множество изрази $elemMatch за съвпадение на стойности на масиви, използващи $all в MongoDB?