Почему я получаю это сообщение об ошибке, если я хочу прочитать свойство id из коллекции User? - PullRequest
0 голосов
/ 06 августа 2020

приложение. js

app.get("/userid", function(req, res){
    User.findById(req.params._id, function(err, foundUser){
        if(err){
            res.redirect("/home");
        }else{
            res.render("userid", {User: foundUser});
        }
    });
});

userid.e js

<%- include ("partials/header") %>
<h1>Userid List</h1>
<div class="container">
        <div class="row">
            <p><%= User._id %></p>
        </div>
</div>
<%- include ("partials/footer") %>

Сообщение об ошибке:

Невозможно прочитать свойство '_id' нулевого

Если я проверю mon go с терминала, я увижу, что эта коллекция пользователей с идентификатором собственность существует. Почему я получаю это сообщение об ошибке?

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 06 августа 2020

Вот решение:

// app. js

   app.get("/userid", function(req, res){
    User.find({}, function(err, foundUser){
        if(err){
            res.redirect("/home");
        }else{
            console.log(foundUser);
            res.render("userid", {User: foundUser});
        }
    });
   }); 

Я использовал функцию find () вместо findById () и больше не получал сообщения об ошибке, но я не вижу идентификаторов на странице userid.e js -> итерация с добавлением forEach ().

// userid.e js

<%- include ("partials/header") %>
<h1>Userid List</h1>
<div class="container">
    <% User.forEach(function(User){ %>
        <div class="row">
            <p><%= User._id %></p>
        </div>
    <% }); %>
</div>
<%- include ("partials/footer") %>

Теперь все работает нормально! Кто-нибудь знает, почему в этом случае не сработала findById ()?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...