Я пытаюсь загрузить и отобразить несколько рабочих записей из моей базы данных MongoDB, используя mongoose и Express, и у меня возникли проблемы.
Когда я пытаюсь передать результаты в мой файл .ejs, я получаю сообщение об ошибке, что переменная не определена.
По какой-то причине это работает, когда я передаю отдельные объекты в файл .ejs.
Вот что работает, но не полезно
router.get('loadEntries', (req,res) => {
Entry.find({}, function(err, data) {
data.forEach(function(item) {
res.render('loadEntries',{firstName:item.firstName});
}
});
});
//ejs file. Very basic, just to capture the data
<p>
<%=firstName%>
</p>
Вот что я хотел бы сделать, но не работает
router.get('loadEntries', (req,res) => {
Entry.find({}, function(err, data) {
res.render('loadEntries',{result:data});
});
});
//ejs file
<p>
<%result.forEach(function(item) { %>
First name: <%=item.firstName%>
Last name: <%=item.lastName%>
<%})%>
</p>
Моя модель мангуста
const mongoose = require('mongoose');
const EntrySchema = new mongoose.Schema({
//hours, room, buliding, note
hours: {
type: Number,
required: true
},
room: {
type: String,
required: true
},
building: {
type: String,
required: true
},
note: {
type: String,
required: false
},
firstName: {
type: String,
required: true
},
lastName: {
type: String,
required: true
}
});
const Entry = mongoose.model('Entry', EntrySchema);
module.exports = Entry;