$addToSet
通常のmongodb 等式規則を使用します。値ごとの深い比較を行うため、次の 2 つのドキュメントは同一です。
{ 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
、特別なセマンティクスはなく、他のフィールドと同じように扱われます。