gpt4 book ai didi

javascript - 更新数组需要 MongoDB 帮助

转载 作者:行者123 更新时间:2023-11-28 02:26:12 25 4
gpt4 key购买 nike

我有这个文档集合

{
_id: 1,
name: 'xpto',
arr: [1, 2, 3]
},
{
_id: 2,
name: 'xyz'
}

我想要将 addToSet 编号 4 添加到 arr 并更新 {multi: 1},但出现错误“无法将 $addToSet 修饰符应用于非数组。”。我知道发生这种情况是因为我的第二个文档没有 arr 字段。

当数组不在所有文档中时,是否可以使用 $push 和/或 $addtoset 使用更新命令更新数组?

我使用 find 来做到这一点,查找cursor.arr 并创建数组(如果不存在)。

你知道另一种方法吗?

最佳答案

如果您只需要第一个文档中的更新数组,您可以使用 $push 运算符,如下所示:

db.docs.update({_id:1},{$push:{arr:4}});

如果您需要更新两个文档,您也可以使用 $push,但第一个参数为空值:

db.docs.update({}, {$push:{arr:4}});

结果将是:*{"_id":1, "arr":[1,2,3,4], "name":"xpto"}{"_id":2, "arr":[4], "name":"xyz"}*

关于javascript - 更新数组需要 MongoDB 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14900593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com