Я работаю над проектом, в котором я использую 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>
, он никогда не будет работать, поэтомупочему это произошло?