【问题标题】:page limit in MongoDBMongoDB中的页面限制
【发布时间】:2016-09-26 18:35:57
【问题描述】:

我正在开发一个移动应用后端,并使用 MongoDB 来存储数据。我已经在 MongoDB 中实现了分页,并且工作正常。现在,我有一个要求,如下所述。场景如下:

  • 一个用户可以有两个类别。(用户集合 - 包含用户个人资料信息)
  • 在每个类别中,用户都可以上传图片。(图片集合 - 包含所有用户上传的所有图片)

在应用首页,每个类别需要显示10张图片。(共20张图片)。

当我查询 MongoDB 时,我对 Image Collection 中的 category_id 使用 OR 操作,并使用 limit 返回 20 张图像。显然,它将返回 20 张图像,这些图像结合了这两个类别。是否可以在单个查询中为每个类别返回 10 张图片?

【问题讨论】:

    标签: mongodb pagination limit


    【解决方案1】:

    OR 不是你想要的。 OR 将选择与任一选项匹配的每个结果。 OR 不关心它匹配的每个类别有多少,只要它达到了它的限制。

    据我所知,您必须执行两个单独的查询,每个类别一个。

    你也许可以通过聚合来完成一些事情,但我不知道这会如何发挥作用。

    如果你问我,执行两个死的简单查询可能会出人意料地胜过许多技巧。

    【讨论】:

    • 我知道 OR 不是正确的。实际上,这个页面将是最常访问的,这就是为什么我想以某种方式一口气完成它。无论如何,我将进行两个查询,直到找到其他内容。谢谢!
    • 你能告诉我应该怎么做吗,如果将来有两个以上的类别?只是想知道,非规范化是否会有所帮助?
    • @RaviKant 这就是你要找的东西:stackoverflow.com/questions/25711657/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    相关资源
    最近更新 更多