gpt4 book ai didi

node.js - Mongojs - 如何推送到数组?

转载 作者:可可西里 更新时间:2023-11-01 09:58:12 25 4
gpt4 key购买 nike

我有以下代码:

db.users.save({
username: "admin",
array: [{
foo1: "foo1",
foo2: "foo2"
}, {
bar1: "bar1",
bar2: "bar2"
}, {
cell1: "cell1",
cell2: "cell2"
}
]
});

现在我想更新数组。我的意思是将一些东西插入数组:

db.users.update({
username: admin
}, {
$set: {
array: {
push1: "push1",
push2: "push2"
}
},


function (err, updated) {

更新功能不推送。那么我怎样才能推送到数组,所以结果将是:

[
{ foo1:"foo1", foo2:"foo2" },
{ bar1:"bar1", bar2:"bar2" },
{ cell1:"cell1", cell2:"cell2" },
{ push1:"push1", push2:"push2" }
]

最佳答案

$set 运算符当然会更改 array 属性的全部数据。

如果您只想推送,请使用 $push(一次推送一个项目)或 $pushAll(推送一个数组的所有项目)。
如果您想推送而不重复某个项目,请使用 $addToSet

注意:如果您使用的是 MongoDB 2.4(最新版本),请将 $push 与新的 $each 修饰符一起使用。这不赞成使用 $pushAll(这也适用于 $addToSet)

文档:

关于node.js - Mongojs - 如何推送到数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16761064/

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