node.js - 如何在 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 中只创建了最后一个元素。那么如何才能创建一个正确的数组呢?
解决方案
你应该把它作为一个数组传递,就像你的模型定义一样
let subjects = new Subjects({
id: req.params.class,
subjects: [{ id: 0, subject: "Maths"},
{id: 1, subject: "IT"},
{id: 2, subject: "Physics"}
]
});
subjects.save();
推荐阅读
- java - 如何在 Android Studio 中的图像上显示矩形
- javascript - 我收到此错误,我该如何解决?DiscordAPIError:无法发送空消息
- sql - 我似乎无法在 SQL Snowflake 中工作
- python - 如何替换数组中的值?
- spring - Spring的具体示例技术构建伟大的应用程序
- php - Symfony 骨架 FrameworkExtraBundle 不能与 Doctrine 一起使用
- javascript - 如何将面板的高度绑定到 Ext Js 中的视口高度?
- rabbitmq - Masstransit 如何应对缓慢的消费者
- python - tkinter 在框架上使用网格似乎不起作用
- react-native - 没有 reCAPTCHA 的 Firebase 电话号码身份验证