$addToSet仅确保没有重复项
添加到集合中,并且不影响现有重复项。
$addToSet不保证修改集中元素的特定顺序。
如果该值为数组,$addToSet则将整个数组作为单个元素附加。
考虑test包含数组字段的集合中的文档letters:
以下操作将数组追加到
字段:[ "c", "d" ]letters
的letters阵列现在包括数组作为元素:[ "c", "d" ]
如果值为文档,则如果数组中的现有文档与要添加的文档完全匹配,则MongoDB会确定该文档为重复文档;也就是说,现有文档具有完全相同的字段和值,并且字段的顺序相同。因此,字段顺序很重要,您不能指定MongoDB仅比较文档中字段的子集来确定文档是否与现有数组元素重复。
考虑inventory包含以下文档的集合:
由于数组中不存在此元素"accessories",因此以下操作将其添加到
数组中:tags"accessories"