$addToSet
používá obvyklá pravidla rovnosti mongodb
:provede hluboké porovnání hodnoty po hodnotě, takže následující dva dokumenty jsou identické:
{ name: "John", hobbies: ["coding", "drinking", "chess"] }
{ hobbies: ["coding", "drinking", "chess"], name: "John" }
(objednejte v dokumentech není zaručeno , takže jsou totožné)
zatímco ty nejsou (páry):
// 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" }
Upozorňujeme, že zde není žádné speciální pole. Můžete přidat _id
pole, ale nemá žádnou speciální sémantiku a bude s ním zacházeno jako s jakýmkoli jiným polem.