使用mongoose-unique-validator插件验证唯一性。该插件可以用于mongoose模式,以确保在保存文档之前检查属性值是否唯一。
示例代码:
const mongoose = require('mongoose'); const uniqueValidator = require('mongoose-unique-validator');
const userSchema = new mongoose.Schema({ name: { type: String, required: true }, phoneNumber: { type: String, required: true, unique: true } });
userSchema.plugin(uniqueValidator);
const User = mongoose.model('User', userSchema);
// 保存新用户示例 const newUser = new User({ name: 'John Doe', phoneNumber: '1234567890' });
newUser.save() .then(result => { console.log(result); }) .catch(error => { console.log(error); });
在上面的示例中,通过将unique选项设置为true来将phoneNumber属性标记为唯一性属性。mongoose-unique-validator将会在保存文档之前自动检查该属性的唯一性并引发ValidationError异常,可以在.catch()中进行处理。