express - 如何在 MERN 堆栈中发送响应模式?
问题描述
我正在使用 mongoose 为数据库构建一个网站,我目前正在尝试编写一个快速路由,它不会发回存储在给定 ID 的数据,而是一个响应模式,其中包含每个属性的描述、数据类型的定义每个属性,以及该属性是否是可选的。
例如,这是我用于存储在我的数据库中的每个产品的模型
const productSchema = new Schema({
name: {type: String, required: true},
description: { type: String, required: false },
image: {type: String, required: false},
expirationDate: { type: Date, required: true },
postedUser: { type: Schema.Types.ObjectId, ref: "User", required: true }
}, {
timestamps: true,
});
这是我为检索给定产品 ID 的数据而编写的路径。
router.route('/').get((req, res, next) => {
Product.find(req.query)
.then(products => {
res.json(normalizer(products));
})
.catch(err => next(err));
});
类似于 url localhost:5550/product/?_id=5ef5521062186e0190da17c9 返回存储在给定 ID 的数据的方式,我想创建一个路由,在调用 url localhost:5550/product/schema/ 时返回用于产品的模型?_id=5ef5521062186e0190da17c9。
解决方案
您可以使用.schema
模型上的属性来访问其架构
router.route('/').get((req, res, next) => {
console.log(Product.schema)
res.json(Product.schema)
});
我不确定是不是这样,.schema
否则.Schema
您必须对其进行测试
推荐阅读
- python - 如何在谷歌驱动API python中组合查询字符串
- opencv - 检测反射物体的边缘
- sql - posgresql - in 子句到布尔值
- java - 初学者Java项目:如何从数组中删除一个元素,当它是参数之一?
- reactjs - 在 React 中上传时无法预览图像
- excel - 根据行数和循环突出显示行
- javascript - 以 HTML 表格形式检索数据(但 HTML 代码与从中加载数据的表格相同)
- sql - Teradata SQL:计算错误代码连续出现的次数(并在不发生时重置)
- reactjs - 在路由更改时保持 redux 状态
- javascript - 用于多个括号打开和关闭的正则表达式