addToSet如何确定重复?
问题描述:
假设我有一个包含名为Months
的数组的文档。数组中的每个元素都有一个int字段,用于指示它引用的月份(yyyyMM),例如, 201612 201701等addToSet如何确定重复?
每个这样的元素还包含附加的字段,属于那个特定的月份。例如INT numOfItems,串国家等
现在,假设我有这样文件与阵列中只有2个元素:
Months[0].month == 201612
Months[1].month == 201701
然后,我打电话addToSet与Months[1].month
== 201701.
addToSet如何确定这是否重复?
是否检查并比较全部要素Months[1]
要做那个?它只检查Months数组中元素的索引吗?
答
这是直接从MongoDB。
如果该值是一个文件,MongoDB的判定原稿是重复,如果阵列中的现有文档的待添加的文档完全相符;即现有文档具有完全相同的字段和值,并且字段的顺序相同。因此,字段顺序很重要,您不能指定MongoDB只比较文档中的一部分字段,以确定文档是否与现有数组元素相同。
它做了一个对象比较 – Sammaye
@Sammaye谢谢!为了澄清你的答案,你的意思是检查和比较要添加的元素的所有子元素,对吧? – datps
事实上,如果您想通过单个属性进行比较或者您需要为查询添加附加条件 – Sammaye