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

时间:2021-04-06 09:18:38

标签: node.js arrays mongodb mongoose

我正在 Node js 服务器上工作,并使用 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 中只创建了最后一个元素。那么如何创建一个正确的数组呢?

1 个答案:

答案 0 :(得分:0)

你应该把它作为一个数组传递,就像你的模型定义

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