【问题标题】:How to sort posts list based on different sorting criteria in mongodb?如何根据MongoDB中的不同排序标准对帖子列表进行排序?
【发布时间】:2017-12-28 18:53:05
【问题描述】:

我正在构建社交网络应用程序。我使用 node.js(express) 和 mongodb 作为后端。

现在,我想根据不同的排序标准列出所有帖子。 用户可以设置他的业务类别(可选)。我已将每个用户的当前位置存储在用户文档中。

现在,我需要基于以下排序标准的包括朋友在内的所有用户的帖子列表

  • 朋友附近发帖(距离最短)
  • 如果登录用户设置了业务类别,则来自与登录用户具有相同类别的用户的帖子
  • 来自不同业务类别的用户发帖
  • 来自未设置业务类别的用户的帖子(最新的优先(创建于 desc))

我应该如何构建朋友系统的结构以实现上述排序帖子?

任何帮助将不胜感激。 谢谢

【问题讨论】:

    标签: node.js mongodb express


    【解决方案1】:

    首先你应该注意内存 - 这个结构以 N^2 的速度增长,其中 N - 帖子计数。

    这个任务似乎很复杂,所以我建议在后端添加一些逻辑。

    例如,看看 CQRS+ES(我认为在你的情况下它是合适的技术)。因此,帖子是事件,您将在读取端为每个用户排序列表。你会在每个帖子上更新所有这些结构。 (您可以在 http://cqrs.nu/ 阅读有关 CQRS 的信息,并在 https://reimagined.github.io/resolve 查看简单的 CQRS 框架并提供明确支持)

    此外,我建议您限制每个用户列表的帖子数。

    【讨论】:

      猜你喜欢
      • 2012-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-08
      • 1970-01-01
      • 1970-01-01
      • 2011-04-23
      • 1970-01-01
      相关资源
      最近更新 更多