如何在猫鼬中一次将多个文档插入子文档

时间:2020-02-21 21:01:29

标签: node.js mongodb mongoose

我创建了一个集合,其中包含一个数组的子文档,如下所示:

const ChapterSchema = new Schema({
    intro: { type: String },
    topics: { type: [TopicSchema] }
},

我想在Chapter的topics子文档中添加多个主题。我可以通过以下代码插入一个主题:

ChapterSchema.update(
  {_id: /* doc id */ },
  {$push: {'topics.$': { /* single topic object */ }},
  callback
)

但是,我想在上面的子文档中插入一个主题数组。我该怎么做?

1 个答案:

答案 0 :(得分:2)

$push提供了$each的特殊语法:

ChapterSchema.update(
    { _id: /* doc id */ },
    { $push: {'topics': { $each: /* array of topics */ }},
    callback
)