【问题标题】:how to set limit,offset,skip in mongoose query如何在猫鼬查询中设置限制、偏移、跳过
【发布时间】:2017-02-04 18:03:35
【问题描述】:

我正在使用 express、mongoose、node.so 我已经检查了有关跳过和限制文档的查询。

   Model.find({},null,{limit:2,skip:20},function(err,data){
           //console.log(data)
      })

【问题讨论】:

    标签: node.js express mongoose


    【解决方案1】:
    var query = Model.find({}).skip(2).limit(5)
    query.exec(callback);
    

    callback写你的代码

    query.exec(function(err,data){
       //console.log(data)
    });
    

    您还可以像这样进行更多查询

    Model
    .where('field1').gte(25)
    .where().in([])
    .select('field1', 'field2', 'field13')
    .skip(20)
    .limit(10)
    .asc('field1')
    .exec(callback);
    

    您可以参考docs了解更多详情

    【讨论】:

      【解决方案2】:

      不确定,但我认为这对您很有帮助。

      var perPage = 10
        , page = Math.max(0, req.param('page'))
      
      Event.find()
          .select('name')
          .skip(perPage * page)
          .limit(perPage)
          .sort({
              name: 'asc'
          })
          .exec(function(err, events) {
              Event.count().exec(function(err, count) {
                  res.render('events', {
                      events: events,
                      page: page,
                      pages: count / perPage
                  })
              })
          })
      

      或看

      How to paginate with Mongoose in Node.js?

      【讨论】:

      • 如何获得第 1 页的结果?那不是返回第 2 页的结果吗?
      • 我认为最好的方法是skip((pageNumber - 1) * limit),它会跳过nothing (or 0) for page 1, limit for page 2, limit + limit for page 3, limit + limit + limit for page 4, limit * (n - 1) for page n
      • 关闭...但正如@ckwagaba 所说,这一直跳过前 10 个。使用 (page - 1) * 跳过正确的算法。
      【解决方案3】:

      试试这个

      Model.find({},null,{limit:2,skip:20}).then(function(data){
             //console.log(data)
        }).catch(next);
      

      【讨论】:

        猜你喜欢
        • 2013-03-20
        • 2019-05-31
        • 2019-07-22
        • 1970-01-01
        • 1970-01-01
        • 2020-06-16
        • 2021-03-04
        • 2016-09-19
        • 1970-01-01
        相关资源
        最近更新 更多