我有这些文件在一个集合中
{
_id: 1,
name: 'xpto',
arr: [1, 2, 3]
},
{
_id: 2,
name: 'xyz'
}
我希望 addToSet 编号 4 使用 update {multi: 1} 进行 arr,但出现错误“无法将 $addToSet 修饰符应用于非数组。”。我知道它发生是因为我的第二个文档没有 arr 字段。
当数组不在所有文档中时,是否可以使用 $push 和/或使用更新命令的 $addtoset 更新数组?
我用 find 做到了这一点,寻找 cursor.arr 并在不存在时创建数组。
你知道另一种方法吗?