首页 > 解决方案 > 如何在 MongoDB 中插入数组?节点 Js

问题描述

我正在使用 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 中只创建了最后一个元素。那么如何才能创建一个正确的数组呢?

标签: node.jsarraysmongodbmongoose

解决方案


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

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

推荐阅读