javascript - 如何在猫鼬模式中定义具有一系列数据的字段?
问题描述
我目前的猫鼬模式是这样的:
const mongoose = require('mongoose');
const resultSchema = new mongoose.Schema({
scores: { type: Number, required: true },
analysis: { type: String, required: true }
},
{ timestamps: true, toJSON: { virtuals: true } }
);
module.exports = mongoose.model('Result', resultSchema);
我希望分数字段有一系列数字。例如 100 到 500。
我应该怎么办?
同时,我可以在 Mongoose 中使用 MongoDB 运算符吗?
解决方案
Mongoose 有几个内置的验证器来完全满足这个用例。
由于scores
is 的 type Number
,您可以使用min
和max
验证器以这种方式验证范围:
const mongoose = require('mongoose');
const resultSchema = new mongoose.Schema({
scores: {
type: Number,
required: true,
min: 100,
max: 500
},
analysis: {
type: String,
required: true
}
}, { timestamps: true, toJSON: { virtuals: true } });
module.exports = mongoose.model('Result', resultSchema);
您可以阅读有关 Mongoose 中的验证:https ://mongoosejs.com/docs/validation.html
推荐阅读
- sql-server - 什么是 SQL Server 凭据的 Oracle 等效项
- javascript - 数组的 JavaScript 副本
- oracle - 减少列不适用于 oracle 中的 group by 表达式
- javascript - Fullcalendar dayGrid from 和 to 范围
- google-apps-script - clearcontent/clearcontents 错误并保留公式
- node.js - 为什么我在安装 react 应用程序时,它给了我这个错误?
- python - 我正在尝试使用 discord.py 创建邀请跟踪器
- javascript - Vue.js 和从未显示的输入值
- reactjs - Emotion/Styled 创建了大量独特的类名
- r - 使用什么命令来缩小 R 中的绘图?