我的网站上有一个“已关注”部分,它会检索用户已关注的所有用户的帖子。有没有办法让这些按日期排序?这是到目前为止的代码:exports.followedPosts = async (req, res) => { try { const user = await User.findById(req.user._id); const posts = []; for (const follow of user.follows) { const partPosts = await Post.find({ author: follow.user }) .select('-comments') .populate('author') .exec(); for (const post of partPosts) { posts.push(post); } } res.send(posts); } catch (err) { console.error(err.message); res.status(500).send('server error'); }};
1 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
您可以使用$in在一个查询中找到关注用户的所有帖子并对该查询进行排序。例子:
let follow_users = user.follows.map(follow => follow.user);
const posts = await Post.find({ author: { $in: follow_users } })
.select('-comments')
.sort({date: 1})
.populate('author')
.exec();
添加回答
举报
0/150
提交
取消