Как написать оператор case в mongoDb, используя mongoose

Здесь я использую mongoose для своего приложения Mean, которое состоит из nodejs, expressjs и angularjs.

Моя проблема в том, что мне нужно использовать разные условия поиска и в соответствии с ними отправлять сообщение об ошибке или данные.

Теперь я использую, как показано ниже

User.findOne({ Email: req.body.Email }, (err, user) => {
                if (err) { return done(err); }
                if (!user) {
                    return res.json("Account with that email address does not exist.");
                }

схема мангуста

const userSchema = new mongoose.Schema({
    FirstName: String,
    LastName: String,
    Email: { type: String, unique: true },
    UserName: String,
    Password: String,
    PhoneNumber: String,
    EmailVerified : Boolean,
    AdminApproved : Boolean   
}, { versionKey: false });

но теперь у меня были такие поля, как электронная почта, проверенная и одобренная администратором.

В Ms-Sql я использовал оператор case, например

  1. где (электронная почта отсутствует) затем show Email not exist
  2. где (электронная почта присутствует и не подтверждена), затем show please verify email
  3. где (электронная почта присутствует, электронная почта подтверждена и не одобрена администратором), затем show wait for admin process

Может ли кто-нибудь помочь мне в mongoDB, используя mongoose, как выполнить ту же операцию.


person charan tej    schedule 10.04.2017    source источник


Ответы (1)


Вы все делали правильно до сих пор, вам просто нужно сделать еще несколько проверок.

попробуй это:

User.findOne({ Email: req.body.Email }, (err, user) => {
    if (err) { return done(err); }
    else if (!user) {
        return res.json("Account with that email address does not exist.");
    }
    else if(!user.EmailVerified){
        return res.json("Please verify your email");
    }
    else if(!user.AdminApproved){
        return res.json("Wait for admin process, Not Admin approved yet!");
    }
})
person Ravi Shankar Bharti    schedule 10.04.2017