Javascript mongoDB:Can';t向数组对象添加字段

Javascript mongoDB:Can';t向数组对象添加字段,javascript,mongodb,Javascript,Mongodb,以下是我的db文档的外观: { "_id" : "aN2jGuR2rSzDx87LB", "content" : { "en" : [ { "content" : "Item 1", "timestamp" : 1518811796 } ] } } 现在我需要在content.en数组的第一个对象中添加另一个字段。 文档本身由I

以下是我的db文档的外观:

{
    "_id" : "aN2jGuR2rSzDx87LB",
    "content" : {
        "en" : [
            {
                "content" : "Item 1",
                "timestamp" : 1518811796
            }
        ]
    }
}
现在我需要在
content.en
数组的第一个对象中添加另一个字段。 文档本身由ID选择。 结果应该是:

{
  "_id" : "aN2jGuR2rSzDx87LB",
  "content" : {
    "en" : [
      {
        "content" : "Item 1",
        "timestamp" : 1518811796,
        "user" : {
          "id" : 'userId'
        }
      }
    ]
  }
}
我试着这样做,但什么也没发生。我甚至没有收到错误消息

Content.update(
  { _id: id },
  {
    $addToSet: {
      'content.en.0.user': {
        id: 'userId',
      }
    }
  }
)
我还想为语言使用一个变量。我该怎么做?类似于
'content.+language+'.0.user'
..

的内容在向数组添加内容时非常有用。在您的情况下,您希望修改数组的第一个元素(在索引
0
),因此只需使用(即字段更新运算符):

Content.update(
   { _id: "aN2jGuR2rSzDx87LB" },
   {
      $set: {
         "content.en.0.user": {
         id: "userId",
      }
   }
 }
)