簡體   English   中英

檢查 mongodb 和護照中是否已經存在用戶

[英]Check if user already exists in mongodb and passport

我是護照新手,我正在嘗試創建一個“注冊”頁面。 這實際上工作正常,登錄表單也是如此。 但是,我想檢查輸入的用戶名是否已經存在,如果存在,則向用戶拋出錯誤。 到目前為止,這是我的代碼:

expressApp.post("/register", function(request, response){

User.findOne({username: request.body.username}, function(err, user) {
        if (err) {
            return err;
        }
        if (user) {

        }
     else {

    User.register(new User({
        username: request.body.username,
        type: "Student"}),
        request.body.password, function(err){
        if(err){
            console.log(err);
        }
        passport.authenticate("local")(request, response, function(){
            response.redirect("/");
        });
    });
 }
    })
});

但是,如果有人選擇了一個已經存在的用戶名,那么我希望能夠告訴他們有錯誤。

它應該看起來像這樣。

expressApp.post("/register", function(request, response) {

  User.findOne({
    username: request.body.username
  }, function(err, user) {
    if (err) {
        return err
    } else if (user) {
        //user.message = "User already exists!!"
        response.statusCode = 409
        return response.send({"message": "User already exists!!")
    } else {
        User.register(new User({
                username: request.body.username,
                type: "Student"
            }),
            request.body.password,
            function(err) {
                if (err) {
                    console.log(err);
                }
                passport.authenticate("local")(request, response, function() {
                    response.redirect("/");
                });
            });
      }
   });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM