【发布时间】:2021-09-25 18:26:48
【问题描述】:
我有一些复杂的对象模型看起来像这样:
courses: [
{
"name": "Linux",
"slug": "linux",
"_id": "123213123123",
"sections": [
{
"name" : "section1",
"_id": "123123123",
"lessons": [
{
"title": "lesson1"
"content": "some content"
}
]
},
{
"name" : "section2",
"_id": "1231231444",
"lessons": [
{
"title": "lesson1"
"content": "some content"
}
]
}
]
}
]
我正在尝试使用 $push 推送到特定部分的课程,但没有成功,
我的代码:
const updatedCourse = await Course.findOneAndUpdate(
{ slug: courseSlug },
{
$push: {
'sections.lessons': { title, content, free_preview, video: videoKey },
},
},
{ new: true, useFindAndModify: false }
);
需要 mongoose 表达式的帮助以按 id 查找部分并推送到课程数组, 谢谢。
【问题讨论】:
-
这能回答你的问题吗? Mongodb $push in nested array
-
你想在每个部分都推送这节课吗?你能分享一下预期的输出吗?
标签: node.js mongodb express mongoose