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

Каква е разликата между запазване и вмъкване в Mongo DB?

Запазване срещу вмъкване:

В дадените от вас примери поведението е по същество същото.

save се държи различно, ако се предава с параметър "_id".

За запазване, ако документът съдържа _id , ще наложи запитване на колекцията на _id поле, ако не, то ще се вмъкне.

Ако документ не съществува с посочената стойност _id, методът save() извършва вмъкване с посочените полета в документа.

Ако съществува документ с посочената стойност _id, методът save() извършва актуализация, като заменя всички полета в съществуващия запис с полетата от документа.

Запазване срещу актуализиране :

update променя съществуващ документ, съответстващ на вашите параметри на заявката. Ако няма такъв съответстващ документ, тогава upsert идва на снимката.

  • upsert : false :Нищо не се случва, когато такъв документ не съществува
  • upsert : true :Създава се нов документ със съдържание, равно на параметрите на заявката и параметрите за актуализиране

save :Не позволява никакви параметри на заявка. if _id съществува и има съвпадащ документ със същия _id , то го замества. Когато не е посочен _id/няма съответстващ документ, той вмъква документа като нов.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Журналирането на MongoDB гарантира ли издръжливост?

  2. Предотвратяване на инжектиране на JavaScript NoSQL в MongoDB

  3. Актуализиране на вложени масиви в mongoDB чрез mongo shell

  4. Справяне с промени в схемата в Mongoose

  5. Брой в хранилището на Spring Data MongoDB