sql >> Databasteknik >  >> NoSQL >> MongoDB

Vad är skillnaden mellan spara och infoga i Mongo DB?

Spara mot infoga :

I dina givna exempel är beteendet i huvudsak detsamma.

save beter sig annorlunda om den skickas med en "_id"-parameter.

För att spara, Om dokumentet innehåller _id , kommer det att upphäva frågan om samlingen på _id fältet, Om inte, kommer det att infogas.

Om ett dokument inte finns med det angivna _id-värdet, utför metoden save() en infogning med de angivna fälten i dokumentet.

Om ett dokument finns med det angivna _id-värdet, utför metoden save() en uppdatering och ersätter alla fält i den befintliga posten med fälten från dokumentet.

Spara kontra uppdatering :

update ändrar ett befintligt dokument som matchas med dina frågeparametrar. Om det inte finns något sådant matchande dokument är det då upsert kommer på bild.

  • upsert : false :Inget händer när det inte finns något sådant dokument
  • upsert : true :Nytt dokument skapas med innehåll som motsvarar frågeparametrar och uppdateringsparametrar

save :Tillåter inga frågeparametrar. om _id finns och det finns ett matchande dokument med samma _id , den ersätter den. När inget _id anges/inget matchande dokument infogas dokumentet som ett nytt.



  1. Node.js + MongoDB:infoga en och returnera det nyligen infogade dokumentet

  2. Kräver Action Cable 5 Redis?

  3. Ordbok<sträng, objekt>-till-BsonDokumentkonvertering som utelämnar _t-fält

  4. Vad är skillnaden mellan findAndModify och update i MongoDB?