Node.js 如何在MongoDB中插入数组?节点Js

Node.js 如何在MongoDB中插入数组?节点Js,node.js,arrays,mongodb,mongoose,Node.js,Arrays,Mongodb,Mongoose,我在NodeJS服务器上工作,使用mongoDB和驱动程序mongoose。那个么,如何在数据库中插入数组呢。这是我的模式: const SubjectsSchema = new Schema( { id: { type: String, required: true, }, subjects: [ { id: { type: Number, required: true }, subject

我在NodeJS服务器上工作,使用mongoDB和驱动程序mongoose。那个么,如何在数据库中插入数组呢。这是我的模式:

    const SubjectsSchema = new Schema(
  {
    id: {
      type: String,
      required: true,
    },
    subjects: [
      {
        id: { type: Number, required: true },
        subject: { type: String, required: true },
      },
    ],
  },
  { versionKey: false }
);
在这里我如何添加新元素:

let subjects = new Subjects({
      id: req.params.class,
      subjects: { id: 0, subject: "Maths"},
    subjects: {id: 1, subject: "IT"},
    subjects: {id: 2, subject: "Physics"},
    });
subjects.save();

但在db中,只创建了最后一个元素。那么如何才能创建正确的数组呢?

您应该将其作为数组传递,就像您的模型定义一样

让主题=新主题({
id:req.params.class,
科目:[{id:0,科目:“数学”},
{id:1,主题:“IT”},
{id:2,主题:“物理学”}
]
});
subjects.save();

这里是您问题的答案: