【问题标题】:MongoDB finding page number of specific recordMongoDB查找特定记录的页码
【发布时间】:2014-07-16 03:32:11
【问题描述】:

我在 MongoDB 中有一个分页记录,我想为其查找特定记录,并找出它依赖于哪个页面。假设 name = Foobar 在电话簿中的位置,每页计数为 1000 条记录。

这是solved with MySQL,正确答案取决于以下逻辑:

  1. 获取name < $searchName的记录总数,
  2. 然后除以每页的记录数。

据我所知,MongoDB 不支持将 lessthan 与字符串一起使用,因此我无法执行以下操作:

find({ 'name': { $lt : 'Foobar' } }).count();

如何使用 Mongo 做类似于 MySql 的回答?

【问题讨论】:

    标签: mongodb pagination


    【解决方案1】:

    MongoDB 确实支持使用$lt 和其他比较运算符比较字符串。请注意,语言环境存在一些限制,因为它使用 UTF-8 表示来比较字符串,但在 POSIX 语言环境中可以正常工作。

    您应该查看this video 以了解有关其工作原理的更多信息。

    所以是的,您应该能够运行如下查询:

    db.collection.find({ "name" : { $lt : "Foobar" }}).count();

    然后你可以按照你在帖子中描述的逻辑。

    PS。请注意,您有一个额外的左括号,并且在您的查询中缺少一个右括号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-08
      • 2013-06-04
      • 1970-01-01
      • 2016-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多