ユーザーが重複した名前やメールアドレスを入力しているかどうかを調べようとしています。私はMongoose(およびそのことについてはMongoDb)を初めて使用しますが、私が読んだ内容に基づくと、これは正しいようです。ただし、それはtrueを返します-何があっても。$ orとしてではなく、いずれか1つを個別に検索すると、正常に機能するようです。
// check if user exists
var userExists = function(u, callback) {
User.find({$or:[ {'username': u.username}, {'email': u.email}]} , function(err,user) {
if (err) { // err, so not sure if user exists
callback(1);
return;
}
if (user) { // user, so return exists
callback(1);
return;
}
//no error, no user
callback(0);
});
};
考え?