Simpan Vs Sisipkan :
Dalam contoh yang Anda berikan, perilakunya pada dasarnya sama.
save
berperilaku berbeda jika diteruskan dengan parameter "_id".
Untuk menyimpan, Jika dokumen berisi _id
, itu akan mengganggu kueri koleksi di _id
bidang, Jika tidak, itu akan dimasukkan.
Jika dokumen tidak ada dengan nilai _id yang ditentukan, metode save() melakukan penyisipan dengan bidang yang ditentukan dalam dokumen.
Jika ada dokumen dengan nilai _id yang ditentukan, metode save() melakukan pembaruan, mengganti semua bidang dalam catatan yang ada dengan bidang dari dokumen.
Simpan vs Perbarui :
update
memodifikasi dokumen yang ada yang cocok dengan parameter kueri Anda. Jika tidak ada dokumen yang cocok, saat itulah upsert
muncul dalam gambar.
upsert : false
:Tidak ada yang terjadi jika tidak ada dokumen seperti ituupsert : true
:Dokumen baru dibuat dengan konten yang sama dengan parameter kueri dan parameter pembaruan
save
:Tidak mengizinkan parameter kueri apa pun. jika _id
ada dan ada dokumen yang cocok dengan _id
yang sama , itu menggantikannya. Ketika tidak ada _id yang ditentukan/tidak ada dokumen yang cocok, dokumen tersebut akan dimasukkan sebagai dokumen baru.