为了账号安全,请及时绑定邮箱和手机立即绑定

猫鼬按日期排序,多个查询

猫鼬按日期排序,多个查询

繁华开满天机 2023-04-01 15:57:46
我的网站上有一个“已关注”部分,它会检索用户已关注的所有用户的帖子。有没有办法让这些按日期排序?这是到目前为止的代码: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();


查看完整回答
反对 回复 2023-04-01
  • 1 回答
  • 0 关注
  • 75 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信