sql >> Database >  >> NoSQL >> MongoDB

Wat is het verschil tussen opslaan en invoegen in Mongo DB?

Opslaan versus invoegen:

In uw gegeven voorbeelden is het gedrag in wezen hetzelfde.

save gedraagt ​​zich anders als het wordt doorgegeven met een "_id" parameter.

Voor opslaan, Als het document _id . bevat , het zal het opvragen van de collectie op de _id veld, zo niet, dan wordt het ingevoegd.

Als een document niet bestaat met de opgegeven _id-waarde, voert de methode save() een invoeging uit met de opgegeven velden in het document.

Als er een document bestaat met de opgegeven _id-waarde, voert de methode save() een update uit, waarbij alle velden in het bestaande record worden vervangen door de velden uit het document.

Opslaan versus bijwerken :

update wijzigt een bestaand document dat overeenkomt met uw queryparameters. Als er niet zo'n overeenkomend document is, dan is dat het moment waarop upsert komt in beeld.

  • upsert : false :Er gebeurt niets als een dergelijk document niet bestaat
  • upsert : true :Er wordt een nieuw document gemaakt met een inhoud die gelijk is aan de queryparameters en de updateparameters

save :Staat geen query-parameters toe. if _id bestaat en er is een overeenkomend document met dezelfde _id , het vervangt het. Als er geen _id is opgegeven/geen overeenkomend document, wordt het document als een nieuw ingevoegd.



  1. sleutel invoegen in redis

  2. Unieke score voor redis leaderboard

  3. MongoDB $reverseArray

  4. verwijder _id van mongo resultaat