当前位置:  开发笔记 > 数据库 > 正文

addToSet如何确定重复项?

如何解决《addToSet如何确定重复项?》经验,为你挑选了1个好方法。

假设我有一个文档,其中包含名为的数组Months。数组中的每个元素都有一个int字段,指示其所指的月份和年份(yyyyMM),例如201612、201701等。

每个此类元素还包含与该特定月份有关的其他字段。例如int numOfItems,字符串Country等。

现在,假设我有这样的文档,数组中只有2个元素:

Months[0].month == 201612
Months[1].month == 201701

然后,我打电话addToSetMonths[1].month== 201701。

addToSet如何确定这是否重复?

它是否检查并比较的所有子元素Months[1]?它仅检查Months数组中元素的索引吗?



1> 小智..:

这直接来自MongoDB。

MongoDB-AddToSet

如果值为文档,则如果数组中的现有文档与要添加的文档完全匹配,则MongoDB会确定该文档为重复文档;也就是说,现有文档具有完全相同的字段和值,并且字段的顺序相同。因此,字段顺序很重要,您不能指定MongoDB仅比较文档中字段的一部分来确定文档是否与现有数组元素重复。

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有