$addToSet
използва обичайните монгодб правила за равенство
:ще направи дълбоко сравнение стойност по стойност, така че следните два документа са идентични:
{ name: "John", hobbies: ["coding", "drinking", "chess"] }
{ hobbies: ["coding", "drinking", "chess"], name: "John" }
(подреждане в рамките на документи не е гарантирано , така че те са идентични)
докато тези не са (по двойки):
// 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" }
Моля, обърнете внимание, че тук няма специално поле. Можете да добавите _id
поле, но няма специална семантика и ще се третира като всяко друго поле.