в mongoDB, почему метод .find здесь не работает, а .findById работает нормально? - PullRequest
0 голосов
/ 27 августа 2018

Я работаю над проектом, в котором я использую EJS на html и mongodb в качестве базы данных и NodeJS.
предполагается, что когда кто-то нажимает на фотографию для получения дополнительной информации, он будет перенаправлен на другую страницу в соответствии сидентификатор этой фотографии в базе данных, и дополнительная информация о ней будет получена из базы данных и передана в файл html.ejs для их отображения, а вот код этого:

app.get("/campgrounds/:id", function(req, res){
    Campground.findById(req.params.id, function(err, foundCampground){
        if(err){
            console.log("can't find this campground");
        } else {
            res.render("show", { foundCampground: foundCampground });
        }
    });
});

и здесьмой код в HTML:

<div class="container">
    <div class="">
        <h2><%=foundCampground.name%></h2>
        <img src="<%=foundCampground.image%>">
        <p><%=foundCampground.describe%></p>
    </div>
</div>

мой вопрос, в коде JS, когда я использую метод .findByID, все работает нормально, и данные будут отображаться.

но если я использовал функцию .find ({_ id: req.params.id}, она ничего не отображала.
Я пытался проверить, были ли данные получены из базы данных и правильно переданы в HTMLфайл, я обнаружил, что если бы я сказал как

<p> foundCampground </p>

, он будет отображать объект всех данных о foundCampground, но если я использовал точечную нотацию, такую ​​как

<p> foundCampground.name </p>

, он никогда не будет работать, поэтомупочему это произошло?

...