Я пытаюсь создать простой API-интерфейс блога с аутентификацией и авторизацией пользователей.Он построен с мангустом и экспрессом.В моем userSchema у меня есть свойство, которое представляет собой массив с именем «subscribedTo».Здесь пользователи могут подписаться на разных пользователей, чтобы получить свои блоги.В массиве subscribedTo хранятся идентификаторы объектов пользователей, которые тоже хотели подписаться.
Вот мой код:
router.get('/blogs', auth, async (req, res) => {
//auth middleware attaches user to the request obj
try {
let blogs = []
req.user.subscribedTo.forEach(async (id) => {
let ownersBlogs = await Blog.find({owner:id})
blogs = [...blogs, ...ownersBlogs]
console.log(blogs)//consoles desired output of users blogs
})
console.log(blogs)//runs first and returns []
res.send(blogs)
}catch(e){
res.status(500).send(e)
}
})
Когда я использую почтальон для этого маршрута, он возвращает [], что понятно.Кажется, я не могу выполнить res.send (блоги), хотя переменная blogs правильно возвращает значение в функции forEach.
Есть ли лучший способ сделать это?