0
我正在使用Mongoose和Express。NodeJS,Mongoose,Express:如果用戶是新的,請檢查數據庫
我想檢查用戶名是否已被佔用。
var isNew = function(req, res, next) {
if (User.find({ 'userData.name': { $exists: false } })) {
next();
} else {
res.redirect('/');
}
}
我的架構:
var userSchema = mongoose.Schema({
userData: {
name: { type: String, required: true, unique: true },
password: String
},
imagePath: { type: String, required: true },
notes: [ String ],
contacts: [{
name: String,
notes: [ String ]
}],
locations: [ String ]
});
它似乎並沒有工作... :( – Timo
謝謝它的作品,我不得不刪除'的ImagePath:{類型:字符串,必需:true}'... :) – Timo
尼斯聽到,也因爲你正在通過'userData.name'進行檢查,我會考慮在模式中添加'lowercase:true'。這樣你就不會有2個用戶名看起來像'userName'和'Username'。我編輯了答案來解釋這一點。我寫的代碼的另一個問題是,如果'req.body.name'未定義,您的應用程序將崩潰。你也應該添加一個支票。 – mkhanoyan