たとえば、ユーザースキーマがあり、ユーザーをデータベースに保存する前に、ユーザー名が一意であることを検証したいとします。
...
UserSchema.path('username')
.validate(function (value, respond) {
User.findOne({ username: this.username }) // This isn't valid.
.lean()
.select('_id')
.exec(function (err, user) {
if (err) {
winston.warn('User_username: Error looking for duplicate users');
respond(false);
}
// If a user was returned, then the user is non-unique!
if (user) {
respond(false);
}
respond(true);
});
});
...
var User = mongoose.model('User', UserSchema);
私は使用できることを知っていますmongoose.model('User').findOne(...)
が、それは少しばかげているようです、それを行うためのより良い方法はありませんか?