jul*_*ian 2 mongodb node.js mongojs
我有以下代码:
db.users.save({
username: "admin",
array: [{
foo1: "foo1",
foo2: "foo2"
}, {
bar1: "bar1",
bar2: "bar2"
}, {
cell1: "cell1",
cell2: "cell2"
}
]
});
Run Code Online (Sandbox Code Playgroud)
现在我想更新数组.我的意思是推送一些东西进入数组:
db.users.update({
username: admin
}, {
$set: {
array: {
push1: "push1",
push2: "push2"
}
},
function (err, updated) {
Run Code Online (Sandbox Code Playgroud)
更新功能不推送.那么如何推送到数组,结果将是:
[
{ foo1:"foo1", foo2:"foo2" },
{ bar1:"bar1", bar2:"bar2" },
{ cell1:"cell1", cell2:"cell2" },
{ push1:"push1", push2:"push2" }
]
Run Code Online (Sandbox Code Playgroud)
该$set运营商将,当然,改变整个数据array属性.
如果你想只是推,使用$push(一次推送一个项目)或$pushAll(推送一个数组的所有项目).
如果您想在不重复项目的情况下进行推送,请使用$addToSet.
注意:如果您使用的是MongoDB 2.4(最新版本),请使用$pushnew $each修饰符.这不赞成使用$pushAll(这也适用于$addToSet)
文档:
| 归档时间: |
|
| 查看次数: |
964 次 |
| 最近记录: |