【问题标题】:MongoDB get more and more recordsMongoDB获取越来越多的记录
【发布时间】:2018-02-15 23:04:34
【问题描述】:

如何使用 mongoose 从 MongoDB 中获取最旧的 5 条记录,然后再说下 5 条记录,依此类推。 我现在拥有的是这个

Model.find().sort({time: -1}).limit(5).exec( ...);

但我想在一段时间后获得下一个 5,我该怎么做?

【问题讨论】:

  • 请不要在您的帖子中插入过多的点。它只会让你因为丑陋而投反对票。
  • 不具体了解 mongoose 和 nodejs,但如果你想一次处理 5 条记录,我会看 mongo cursor。我不会通过 limit(5) 限制搜索,而是从游标中获取 5 条记录,处理它们,获取下一个 5 条,依此类推。您也可以使用 skip 关键字,它告诉 Mongo 跳过一定数量的记录。但这需要每次都运行查询,效率很低。

标签: node.js mongodb mongoose


【解决方案1】:

基于请求号更新页面。例如。第一个请求发送 page=0,对于 next page=1 等等。

var limit = 5;
var page = 0; // 1,2,3,4

return Model.find()
        .sort({time: -1})
        .limit(limit)
        .skip(limit * page)
        .exec();

【讨论】:

  • 谢谢,从第 0 页开始,所以它不会在第一次跳过任何内容完美!
猜你喜欢
  • 1970-01-01
  • 2017-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-15
相关资源
最近更新 更多