ดังนั้นฉันจึงมีข้อมูลบางส่วนในฐานข้อมูล Mongo ของฉัน ซึ่ง I.find()
โดยแสดงและส่งไปยังมุมมอง EJS ของฉัน ค่อนข้างง่าย แต่ปัญหาคือเมื่อฉันพยายามอ่านโดยใช้ <pre><%=%></pre>
ฉันไม่สามารถกำหนดได้ นี่คือโค้ดทั้งหมด:
อาร์เรย์ข้อมูลที่มีออบเจ็กต์ใน MongoDB:
[{
_id: 6069820f402d01120cda8cff,
imageName: 'Dining Plate',
imagePath: './public/assets/img/6.jpg',
description: 'Wallpapers',
__v: 0
}]
รหัสด่วนที่ฉันได้รับและส่งไปที่ EJS:
app.get('/wallpapers/:id', ((req, res) => {
const urlID = req.params.id;
Thing.find({}, function (err, result) {
if (err) {
console.log(err);
} else {
var fres = result.filter(d => d._id == urlID);
res.render('wallpaper-page',{fres});
}
});
})
)
และ EJS:
<pre><%= fres.description%> %> </pre>
และตอนนี้เกิดความสับสนครั้งใหญ่: เมื่อฉันแทนที่ fres.description
ด้วย fres._id
มันก็ทำงานได้ดีอย่างสมบูรณ์ เพียงเท่านี้ ไม่ต้องการพิมพ์ค่าคีย์อื่นใด ฉันค้นหาไปทั่วมาเกือบวันแล้ว แต่ไม่มีอะไรช่วยเลย ตอนนี้ทำให้ฉันรำคาญแล้ว
ป.ล.: console.log(fres.description)
คือ undefined
และ console.log(fres._id)
ทำงานได้ดี
ทำไม ฉันจะแก้ไขปัญหานี้ได้อย่างไร? โปรดบอกฉันหากคุณต้องการรหัสอื่น ๆ
Thing.findById(req.params.id)
ล่ะ คุณบอกได้ไหมว่าconsole.log(fres)
ให้อะไร? - person Som Shekhar Mukherjee   schedule 04.04.2021{ _id: 6069820f402d01120cda8cff, imageName: 'Dining Plate', imagePath: './public/assets/img/6.jpg', description: 'Wallpapers', __v: 0 }
- person MasterMind   schedule 04.04.2021