繁体   English   中英

如何在Mongodb中使用Node.js在对象数组中添加object?

[英]How to add object in Array of Objects using Node js in Mongodb?

我想在MasterCourse中更新我的courseModules 在下面的 JSON 中,我在courseModules中有两个对象。 我想如果moduleId存在于courseModules中然后更新它,否则创建一个新的 object 并返回具有更新值的courseModules 我正在使用 Node.js 和 mondodb,mongoose。无法找到如何实现此功能。

JSON 或 MONGODB 数据:

"MasterCourse": [
{
    "_id": "6392f2611e7d670eca9712fa",
    "courseTitle": "My Course Title",
    "awardURL": "award.png",
    "courseModules": [
        {
            "moduleId": 0,
            "moduleTitle": "Module Title 1",
            "moduleDescription": "Module 1 description",
            "totalSessions": 3,
            "_id": "6392f2611e7d670eca97e12d"
        },
        {
            "moduleId": 1,
            "moduleTitle": "ModuleTitle 2",
            "moduleDescription": "Module 2 description",
            "totalSessions": 4,
            "_id": "6392f2611e7d670eca9711wd"
        },
    ],
}

]

查询要执行:

{
    "moduleId": 2,
    "moduleTitle": "Module Title 3",
    "moduleDescription": "Module 3 description",
    "totalSessions": 8,
}

如果项目不存在则添加 -

masterCourse.updateOne({ "_id": req.params.id }, { $addToSet: { "courseModules": req.body } })

更新值(如果存在)-

 masterCourse.updateOne({ "_id": req.params.id, "courseModules._id": ModuleID }, { $set: { "courseModules": req.body } })

这些查询对我有用,您可以根据您的数据或要求更改变量的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM