0
ExpressでMongooseを使用しています。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削除する必要がありました:。。{タイプ:文字列、必要な:真を}、' ... :) – Timo
ニース'userData.name'でチェックしているので、スキーマに' lowercase:true'を追加することも考えています。このようにして、 'userName'と' Username'のような2つのユーザ名はありません。私はこれも説明する答えを編集しました。私が書いたコードのもう一つの問題は、 'req.body.name'が未定義の場合、あなたのアプリがクラッシュすることです。あなたはそれのためのチェックを追加する必要があります。 – mkhanoyan