在Node.js中使用Mongoose進行數據驗證,首先需要定義一個Schema,然后在Schema中設置相應的驗證規則。以下是一個簡單的示例:
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test', {useNewUrlParser: true, useUnifiedTopology: true});
// 定義一個名為User的Schema
const UserSchema = new mongoose.Schema({
name: {
type: String,
required: true, // 必填字段
minlength: 2, // 最小長度為2
maxlength: 50 // 最大長度為50
},
age: {
type: Number,
required: true, // 必填字段
min: 18 // 最小值為18
}
});
// 創建一個名為User的模型
const User = mongoose.model('User', UserSchema);
// 創建一個新的用戶實例并保存到數據庫
const newUser = new User({ name: 'Alice', age: 25 });
newUser.save((err) => {
if (err) {
console.log('Error:', err.message);
} else {
console.log('User saved successfully!');
}
});
在這個示例中,我們定義了一個名為User
的Schema,其中包含兩個字段:name
和age
。我們為這兩個字段設置了不同的驗證規則,例如name
字段是必填的,且長度在2到50之間;age
字段也是必填的,且最小值為18。當我們嘗試保存一個不符合這些規則的用戶時,Mongoose會拋出一個錯誤。