У меня есть этот код, который позволяет мне получать все сообщения, сделанные пользователем в моей БД. Проблема в том, что я пытался отправить эти данные клиенту. Но мне это не удалось, и я не знаю, чего мне не хватает,
Код, извлекающий информацию о пользователе из mongoDB, приведен ниже. Код работает отлично, без проблем,
User.find({}).lean(true).exec((err, users) => {
let userMap = [];
userMap.push({ user: users[i], posts: users[i].posts[j] });
//all the data are stored to userMAP :[{user : xxxxx ,posts : {the posts are here}}]
}
}
}
console.log(userMap);
User.findOne({ userName: req.user.userName }, (error, req_user) => {
console.log(req.user.lastLogin)
let lastSeen = ta.ago(req.user.lastLogin);
//console.log(posts)
res.render('home', { // this part for rendering the homePage and send data
user: req_user,
people: users,
userMap: userMap.reverse()
});
});
То, что я пробовал в своем коде на стороне клиента, это:
<div class="container">
<% for(var x=0;x<user.posts.length;x++) { %>
<div class="jumbotron">
<div>by
<b>{{ user.posts[x].author }}</b>
on
<small>{{ user.posts[x].createdAt }}</small>
</div>
<div>
<p>{{ user.posts[x].caption }}</p>
</div>
<div class="row">
<button onclick="actOnPost(event);"
data-post-id="{{ this.id }}">Like
</button>
<span id="likes-count-{{ this.id }}">{{ this.likes_count }}</span>
</div>
</div>
<% } %>
Для части ошибки Я ничего не получаю,
это изображение моих сохраненных данных в базе данных
и это изображение домашней страницы
Сценарий для моего кода:
1 - я использую E JS механизм просмотра и когда появляется логин пользователя в home.ejs
, а на стороне сервера я использую приведенный выше код для подготовки данных, которые мне нужны для отображения
2 - все работает отлично, за исключением отображения данных на клиенте сторона home.ejs
3- для вызова этой страницы с моего сервера Я использовал это утверждение со смесью приведенного выше кода
router.get('/home', (req, res) => {
if (req.user.id) {
console.log(req.user.id)
User.find({}).lean(true).exec((err, users) => {
let userMap = [];
Любая помощь или лучшее решение для отображения данных на сторона клиента,
С наилучшими пожеланиями,