Обновление модели пользователя с помощью mongodb

Я пытаюсь извлечь идентификатор пользователя из моего маршрута обновления. У меня есть следующая форма обновления:

<div class="row">

<div id="user-image-preview" class="col-md-4 col-sm-12 user-image-preview">   </div>

<div class ="reg-container-form col-md-8 col-sm-12">

<div class="jumbotron form"><h2><i class="fa fa-user-plus" aria-hidden="true"></i> Update profile</h2></div>
<form id="register" action = "/update-user?_method=PUT" method = "POST">
<div class="form-group has-feedback">
    <i class="fa fa-user" aria-hidden="true"></i>
    <label for="username">Username</label>
        <input id="username" type = "text" class = "form-control" value = "<%=currentUser.username%>" name="username"> 
</div>

<div class="form-group has-feedback">
    <i class="fa fa-envelope" aria-hidden="true"></i>
    <label for="email">Email</label>
        <input id="email" type = "email" class = "form-control" value = "<%=currentUser.email%>" name="email"> 
</div>

<div class="form-group">
    <div><i class="fa fa-picture-o" aria-hidden="true"></i>  <label for="img">Image</label></div>
        <input id="user-image-set" type = "text" class ="form-control" placeholder = "Enter image URL" name = "image">
          <a href="#"><div id="eye-button"><i id="preview-icon" class="fa fa-eye" aria-hidden="true"></i></div></a>
</div>

    <button id="submit-login" type ="submit">Confirm changes</button>
</form>
</div>
</div>

Моя пользовательская схема:

var UserSchema = new mongoose.Schema({
username: String, 
password: String,
image: String,
email: String
});

И маршрут, который я пытаюсь применить:

router.put('/update-user',function (req,res,next){
User.findOne({_id: req.body._id},function (err,user){
if(err){
res.redirect("/profile")
} else { 
user.username = req.body.username;
user.email = req.body.email;
user.image = req.body.image;
user.save()
}}
)});

Я также пробовал это как запрос POST, но в обоих случаях, когда я отправляю форму, я получаю следующую ошибку:

  throw er; // Unhandled 'error' event
  ^

TypeError: Cannot set property 'username' of null
at /home/ubuntu/workspace/NUFC/NUFC_Blogv1.2/routes/index.js:89:15
at Query.<anonymous>    (/home/ubuntu/workspace/NUFC/NUFC_Blogv1.2/node_modules/mongoose/lib/model.js:3701:16)
at /home/ubuntu/workspace/NUFC/NUFC_Blogv1.2/node_modules/mongoose/node_modules/kareem/index.js:273:21
at /home/ubuntu/workspace/NUFC/NUFC_Blogv1.2/node_modules/mongoose/node_modules/kareem/index.js:127:16
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)

0 ответов

Другие вопросы по тегам