我有一个使用 strategy=set 的 embedMany 属性的集合,所以存储了一个 ArrayCollection。但是,我们从数组中删除了一些项目,现在有一些文档的键不是连续整数。
我需要解决这种不一致的问题,我该怎么做?
您可以使用
$type
运算符并查询您的embedManyField
类型为 object
的所有文档。获得这些文档后,将array_values
应用于应存储数组的字段并再次保存它们。此外,为避免将来出现此类情况,您应该将收藏的策略更改为 setArray
或 atomicSetArray
.