【发布时间】:2013-02-15 17:58:49
【问题描述】:
我有这些文档在一个集合中
{
_id: 1,
name: 'xpto',
arr: [1, 2, 3]
},
{
_id: 2,
name: 'xyz'
}
我希望 addToSet 编号 4 使用更新 {multi: 1} 进行 arr,但出现错误“无法将 $addToSet 修饰符应用于非数组。”。 我知道这是因为我的第二个文档没有 arr 字段。
当数组不在所有文档中时,是否可以使用 $push 和/或 $addtoset 使用更新命令更新数组?
我用 find 来做,寻找 cursor.arr 并在不存在的情况下创建数组。
你知道另一种方法吗?
【问题讨论】:
-
$addToSet将为不存在的文档创建arr字段,因此可能发生的情况是您有一个文档,其中arr存在但不是数组。
标签: javascript arrays mongodb