Zapisz vs. wstaw:
W podanych przykładach zachowanie jest zasadniczo takie samo.
save
zachowuje się inaczej, jeśli jest przekazywany z parametrem „_id”.
Aby zapisać, jeśli dokument zawiera _id
, spowoduje to odpytywanie kolekcji na _id
pole, jeśli nie, zostanie wstawione.
Jeśli dokument nie istnieje z określoną wartością _id, metoda save() wykonuje wstawienie z określonymi polami w dokumencie.
Jeśli istnieje dokument z określoną wartością _id, metoda save() przeprowadza aktualizację, zastępując wszystkie pola w istniejącym rekordzie polami z dokumentu.
Zapisz a aktualizuj :
update
modyfikuje istniejący dokument dopasowany do parametrów zapytania. Jeśli nie ma takiego pasującego dokumentu, wtedy upsert
jest na zdjęciu.
upsert : false
:Nic się nie dzieje, gdy taki dokument nie istniejeupsert : true
:Nowy dokument zostanie utworzony z zawartością równą parametrom zapytania i parametrom aktualizacji
save
:Nie zezwala na żadne parametry zapytania. jeśli _id
istnieje i istnieje pasujący dokument o tym samym _id
, zastępuje go. Gdy nie określono _id/brak pasującego dokumentu, wstawia się dokument jako nowy.