$addToSet
menggunakan aturan kesetaraan mongodb
yang biasa :itu akan melakukan perbandingan nilai demi nilai yang mendalam, sehingga dua dokumen berikut ini identik:
{ name: "John", hobbies: ["coding", "drinking", "chess"] }
{ hobbies: ["coding", "drinking", "chess"], name: "John" }
(pesan dalam dokumen tidak dijamin , jadi mereka identik)
sementara itu tidak (berpasangan):
// compare to:
{ name: "John", hobbies: ["chess", "coding", "drinking"] }
// in arrays, the order matters:
{ name: "John", hobbies: ["coding", "drinking", "chess"] }
// field names and values are case sensitive
{ Name: "John", hobbies: ["chess", "coding", "drinking"] }
{ name: "john", hobbies: ["chess", "coding", "drinking"] }
// additional field:
{ name: "John", lastName: "Doe", hobbies: ["chess", "coding", "drinking"] }
// missing field:
{ name: "John" }
Harap dicatat bahwa tidak ada bidang khusus di sini. Anda dapat menambahkan _id
bidang, tetapi tidak memiliki semantik khusus dan akan diperlakukan sama seperti bidang lainnya.