我正在 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 中只创建了最后一个元素。那么如何创建一个正确的数组呢?
答案 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();