使用nodejs更新mongodb中的数据时出错

时间:2016-09-04 10:50:50

标签: node.js mongodb

我将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

我们怎么做?

3 个答案:

答案 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"

应该足够了