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 dokumentupsert : 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.