$addToSet
gebruikt de gebruikelijke mongodb-gelijkheidsregels
:het zal een diepgaande waarde-voor-waarde vergelijking maken, dus de volgende twee documenten zijn identiek:
{ name: "John", hobbies: ["coding", "drinking", "chess"] }
{ hobbies: ["coding", "drinking", "chess"], name: "John" }
(bestellen in documenten is niet gegarandeerd , dus ze zijn identiek)
terwijl die niet (paarsgewijs):
// 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" }
Houd er rekening mee dat hier geen speciaal veld is. U kunt een _id
. toevoegen veld, maar het heeft geen speciale semantiek en wordt net als elk ander veld behandeld.