首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据查找结果返回和排序用户

根据查找结果返回和排序用户
EN

Stack Overflow用户
提问于 2021-06-08 02:58:11
回答 1查看 25关注 0票数 0

我有一个mongoDb集合用于users,一个集合用于messages。我的目标是返回用户的结果

patient

  • Have消息的role (过滤掉没有消息的用户)

  • ,结果通过最新消息进行排序(即最新消息的用户应该在结果的顶部)

我对聚合相当陌生,但尝试使用聚合来解决这个问题。到目前为止,我的查询通过查找返回带有消息的用户,但是,它不会过滤没有消息(2)的用户,也不会对结果(3)进行排序。

代码语言:javascript
复制
db.users.aggregate([
    
    {$match: {role: "patient"}},
    {$lookup:
     {
       from: "messages",
       localField: "phoneNumber",
       foreignField: "phoneNumber",
       as: "messages"
     }
}

])
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-08 04:47:54

虽然您可以通过聚合管道实现这一点,但更有效的解决方案是将最新消息的时间戳写入用户,此时不需要连接来检索所需的数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67880852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档