Mongoose SchemaType.prototype.validators 属性
Mongoose 是一个用于Node.js环境的MongoDB对象建模和处理工具。 Mongoose SchemaType validators 属性 用于获取应用于mongoose schema的模式路径上的验证器。
语法:
SchemaType.prototype.validators
创建Node应用并安装Mongoose:
步骤1: 使用以下命令创建一个Node应用:
mkdir folder_name
cd folder_name
npm init -y
touch main.js
步骤2: 完成Node.js应用程序之后,使用以下命令安装所需模块:
npm install mongoose
项目结构:
它将如下所示。

示例 1: 在这个示例中,我们将使用这种方法来记录应用于“name”mongoose模式路径的验证器。
文件名:main.js
// Importing the module
const mongoose = require('mongoose')
// Creating the connection
mongoose.connect('mongodb://localhost:27017/query-helpers',
{
dbName: 'event_db',
useNewUrlParser: true,
useUnifiedTopology: true
}, err => err ? console.log(err)
: console.log('Connected to database'));
const personSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
age: {
type: Number,
}
});
const Person = mongoose.model('Person', personSchema);
(async () => {
const validators = personSchema.path('name').validators
console.log({ validators });
})()
运行应用程序的步骤: 使用以下命令从项目的根目录运行应用程序:
node main.js
输出:

示例2: 在这个示例中,我们将使用这个方法来验证一个特定年龄,使用应用在“age”mongoose模式路径上的验证器。
文件名:main.js
// Importing the module
const mongoose = require('mongoose')
// Creating the connection
mongoose.connect('mongodb://localhost:27017/query-helpers',
{
dbName: 'event_db',
useNewUrlParser: true,
useUnifiedTopology: true
}, err => err ? console.log(err)
: console.log('Connected to database'));
const personSchema = new mongoose.Schema({
name: {
type: String,
},
age: {
type: Number,
min: 20
}
});
const Person = mongoose.model('Person', personSchema);
(async () => {
const validators = personSchema.path('age').validators
const res = validators[0].validator(28)
console.log({res});
})()
运行应用的步骤 :在项目的根目录下,使用以下命令运行应用程序:
node main.js
输出:

参考: https://mongoosejs.com/docs/api/schematype.html#schematype_SchemaType-validators
极客教程