我将mongodb中的数据作为:
{
"_id":ObjectId("5415dsc5fdvfv15vff65"),
"username":"myusername",
"friends": [
{
"name":"friend1",
"isFriend":false
},
{
"name":"friend2",
"isFriend":false
}
]
}
现在我正在尝试更新我的'isFriend'状态为' true'。
我的nodejs更新代码是:
User.update({username:'myUsername',friends.name:'friend1'},{$set:{friends:{name:'friend1',isFriend:true}}}, function(err,val){
console.log(val.nModified);
});
但此代码显示错误意外令牌。 在friends.name
我们怎么做?
答案 0 :(得分:2)
试试这个..
User.update({username:'myUsername','friends.name':'friend1'},{$set:{ "friends.$.name" : "updated name","friends.$.isFriend":true }}, function(err,val){
console.log(val.nModified);
});
答案 1 :(得分:1)
嵌套条件应为字符串
User.update({username:'myUsername','friends.name':'friend1'},{$set:{'friends.$.isFriend': true}}, function(err,val){
console.log(val.nModified);
});
答案 2 :(得分:0)
添加双引号" friends.name"
应该足够了