Создание профиля для зарегистрированного пользователя в node.js - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть модель пользователя, которую я храню в MongoDB, и я хочу создать уникальный профиль пользователя для каждого пользователя, который регистрируется на моем сайте.

Это модель пользователя:

var UserSchema = mongoose.Schema({
    username: {
        type: String,
        index:true,
        unique: true
    },
    password: {
        type: String
    },
    email: {
        type: String,
        unique: true
    },
    name: {
        type: String
    },
    avatar: {
        type: String
    }
});

попытался сделать что-то вроде следующего кода из видео, которое я смотрел, но это не сработало совсем:

router.get("/:username", function(req,res){
    User.findOne({where: {username: req.params.username}}, function(err,foundUser){
        if(err){
            req.flash("error", "Something went wrong.");
            return res.redirect("/");
        }
        res.render('profile',{user:foundUser});
    })
});

, в то время как "/: имя пользователя" должно быть именем пользователя.

Как я могу создать профиль пользователя после его регистрации и позволить другим пользователям видеть его?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Используйте этот код.

 router.get("/:username", function (req, res) {
  User.findOne({
    username: req.params.username
  }, function (err, foundUser) {
    if (err) {
      req.flash("error", "Something went wrong.");
      return res.redirect("/");
    }
    if (foundUser.length == 0) //Means no data found
    {
      //Write code for when no such user is there
    }
    res.render('profile', {
      user: foundUser
    });
  })
});

Этот код будет принимать имя пользователя, если он не завершится, создайте его, иначе он сделает все, что вы делали

0 голосов
/ 30 апреля 2018

Я думаю, ваш обработчик должен быть:

router.get("/:username", function(req,res){
    User.findOne({username: req.params.username}, function(err,foundUser){
        if(err){
            req.flash("error", "Something went wrong.");
            return res.redirect("/");
        }
        res.render('profile',{user:foundUser});
    })
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...