node.js - 如何在猫鼬中一次将多个文档插入子文档
问题描述
我创建了一个集合,其中包含如下数组的子文档:
const ChapterSchema = new Schema({
intro: { type: String },
topics: { type: [TopicSchema] }
},
我想在topics
章节的子文档中添加多个主题。我可以通过下面的代码插入一个主题:
ChapterSchema.update(
{_id: /* doc id */ },
{$push: {'topics.$': { /* single topic object */ }},
callback
)
但是,我想在上面的子文档中插入一个主题数组。我怎么能做到这一点?
解决方案
$push
提供了一个特殊的语法$each:
ChapterSchema.update(
{ _id: /* doc id */ },
{ $push: {'topics': { $each: /* array of topics */ }},
callback
)