【问题标题】:How to update a field in array of object Nodejs/MongoDB如何更新对象Nodejs / MongoDB数组中的字段
【发布时间】:2018-02-08 10:32:43
【问题描述】:

我只想将字段“done”的值更新为“true”

我正在使用 nodejs 进行开发

这是文件:

{
"_id" : ObjectId("5a730e55114dbc2a0455c630"),
"email" : "email@gmail.com",
"password" : "12356789",
"tasks" : [ 
    {
        "title" : "new to do ",
        "description" : "new something ",
        "date" : "2018-02-07T18:16:29.469Z",
        "done" : false
    }, 
    {
        "title" : "new to d odo ",
        "description" : "dod ododoododododo",
        "date" : "2018-02-07T18:25:14.881Z",
        "done" : false
    }
]
}

【问题讨论】:

  • 您想为某些特定元素或数组中的每个元素更新它?
  • 一个特定元素,例如标题为“new to d odo”的第二个元素,我想将 done 更改为“true”
  • 您可以尝试使用$set 运算符:docs.mongodb.com/manual/reference/operator/update/set
  • 你能多说一点吗?你想更改 nodejs 或 mongodb 中的对象?
  • 对不起,您的问题不清楚!我想使用 nodeJS 更新洞对象中名为“new to d odo”的任务中名为“new to d odo”的任务中的字段“done”我要求查询,因为该文档来自 MongoDb 数据库。

标签: json node.js mongodb express nosql


【解决方案1】:

这样的事情应该可以工作:

db.collectionName.update({
     "tasks.title": "new to d odo "
}, {
    $set: { "tasks.$.done": true }
})

您可以查看更多详情in the documentation

【讨论】:

    【解决方案2】:

    你可以使用

    $push

    $set

    $addToSet

    您可以使用这些运算符将任何对象或任何值插入到猫鼬模型中的数组中。

    【讨论】:

      猜你喜欢
      • 2020-12-18
      • 1970-01-01
      • 2019-04-18
      • 1970-01-01
      • 2017-12-29
      • 2019-09-22
      • 2020-05-20
      • 2020-09-24
      • 2014-07-24
      相关资源
      最近更新 更多