mongodb EmbedMany 策略=设置

mongodb EmbedMany strategy=set

我有一个使用 strategy=set 的带有 embedMany 属性的集合,因此存储了一个 ArrayCollection。但是,我们从数组中删除了一些项目,现在有些文档的键不是连续整数。

我需要解决这个不一致问题,我该怎么做?

您可以使用 $type 运算符并查询您的 embedManyField 类型为 object 的所有文档。获得这些文件后,将 array_values 应用于存储数组的字段并再次保存。另外,为了避免将来出现这种情况,您应该将 collection 的策略更改为 setArrayatomicSetArray