Uložit vs. Vložit:
Ve vámi uvedených příkladech je chování v podstatě stejné.
save
se chová jinak, pokud je předán s parametrem "_id".
Pro uložení, pokud dokument obsahuje _id
, upsert dotazování kolekce na _id
Pokud ne, vloží se.
Pokud dokument se zadanou hodnotou _id neexistuje, metoda save() provede vložení se zadanými poli v dokumentu.
Pokud existuje dokument se zadanou hodnotou _id, metoda save() provede aktualizaci a nahradí všechna pole v existujícím záznamu poli z dokumentu.
Uložit vs. Aktualizovat :
update
upraví existující dokument odpovídající parametrům vašeho dotazu. Pokud takový odpovídající dokument neexistuje, je to při upsert
je na obrázku.
upsert : false
:Nic se nestane, když žádný takový dokument neexistujeupsert : true
:Nový dokument se vytvoří s obsahem rovným parametrům dotazu a parametrům aktualizace
save
:Nepovoluje žádné parametry dotazu. pokud _id
existuje a existuje odpovídající dokument se stejným _id
, nahrazuje to. Pokud není zadáno žádné _id/není žádný odpovídající dokument, vloží dokument jako nový.