首页 > 解决方案 > Mongoose 我们如何更新嵌套对象

问题描述

我正在尝试使用猫鼬更新嵌套对象。我正在尝试仅更新“remindTime 日期”并保留“时间”我可以更新“remindTime 日期”但是它会删除我的“remindTime 时间”属性。

我尝试了以下方法,但它们都不起作用

Model.updateMany(req.query, { remindTime: { date: "2021-09-28" } })

Model.updateMany(req.query, { remindTime: $set:{ { date: "2021-09-28" } } } )

我正在更新的数据库数据

{
    "_id": {
        "$oid": "614d3cedfb2600340fdb28f9"
    },
    "date": "2021-09-23",
    "title": "First test",
    "description": "not working yet",
    "remindTime": {
        "date": "2021-09-28",
        "time": "01:20 am"
    },
    "isComplete": false,
}

标签: javascriptnode.jsmongodbmongoose

解决方案


请试试这个:

Model.updateMany(req.query, { "remindTime.date": "2021-09-28"})

推荐阅读