使用Node js mongoDB驱动程序将字段添加到mongoDB中的嵌套文档中

时间:2018-01-08 16:52:39

标签: node.js mongodb

我想知道如何使用Node js驱动程序为mongoDB编写更新,其要求如下所示

我在集合中的文档是这样的

{
"_id": {
    "$oid": "5a4e098e734d1d089c5a7473"
},
"username": "guest",
"password": "guest",
"categories": {
    "movie": [
        "Minions",
    ]
}
}

现在我想在名为games的类别中添加一个新字段,其中数组作为特定用户名的值

我写的查询如下,但它没有工作

db.collection('userdata').aggregate([ { '$match': { "username": "guest" } },{ '$addFields ': { "catagories.games" : [] }}],function(err, docs) {
  assert.equal(null, err);
  console.log(docs);

});

我想知道我哪里出错或如何解决这个问题

1 个答案:

答案 0 :(得分:0)

你可以使用mongodb的更新功能

db.userdata.update(
   { "username": "guest" },
   $set:{
      "catagories.games" : []
   },
   { upsert: true }
)

upsert true表示如果不存在,则插入 源 - https://docs.mongodb.com/manual/reference/method/db.collection.update/