mongodb将新字段插入数组中

Bal*_*han 4 javascript mongodb nosql node.js

我试图将一个新字段插入到一个对象数组中

{
    "_id": "543356fe0c9af6066e68970c",
    "createdDate": "2014-10-06 07:59 pm",
    "cancle": false,
    "eventDate": "2014/12/12",
    "eventstatus": true,
    "location": "chennai",
    "userId": "54310801e2659ecc3650100b",
    "createdBy": "one",
    "eventName": "tea ",
    "__v": 0,
    "friends": [
        {
            "userId": "54310814e2659ecc3650100c",
            "userName": "two",
            "phoneNumber": "22222222"
        },
        {
            "userId": "54310945e2659ecc3650100d",
            "userName": "three",
            "phoneNumber": "33333333"
        },
        {
            "userId": "54334def7e85de48638d1069",
            "userName": "four",
            "phoneNumber": "44444444"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我想为friends数组中的所有对象添加"status":0

我尝试使用addtoset,push和多种方式,将其添加为friends数组中的新对象.

db.events.update({},{$push:{ "friends" : {"status" : 0} }},false,true)
db.events.update({},{$addToSet : {'friends' : $each: [{ 'status':0}]}},false,true)
Run Code Online (Sandbox Code Playgroud)

请让我知道我做错了什么.谢谢你的帮助

mal*_*lik 8

您可以使用它来更新阵列

db.events.find().forEach(function(e){
  var t=e.friends;
  t.forEach(function(e){
    e.status=0
  });
  db.events.update({_id:e._id},{$set:{friends:t}})
})
Run Code Online (Sandbox Code Playgroud)

在你的mongo终端中运行它.