收藏
回答

云开发 skip limit 最后一页会出现超时问题

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 工具 wxc60cf040d9b95351 ky 2.9.5
const orders = await db.collection('Orders').aggregate()
    .match(
      _.and([_.or(where.keyword), where.cmp_id, where.step, where.flag, where.dateStart, where.dateEnd, where.ids])
    )
    .sort({
      orderNo: -1,
    })
    .lookup({
      from: 'OrderPros',
      localField: '_id',
      foreignField: 'order_id',
      as: 'pros',
    })
    .match(where.itemNo)
    .skip(skip)
    .limit(pageSize)
    .project({
      _id: 1,
      orderNo: 1,
      orderNumber: 1,
      dateStamp: 1,
      buyer: 1,
      name: 1,
      pros: 1,
      step: 1,
    })
    .end()

这段代码在云函数中,如果搜索出来的数据量小于limit或者最后一页,会出现超时问题。如果数据量超过limit 并且不是最后一页,则正常。

回答关注问题邀请回答
收藏

1 个回答

  • Cheshire cat
    Cheshire cat
    2020-11-20

    建议针对orders 表里和orderprops表里,涉及到的查询字段,加一下索引再试下呢

    2020-11-20
    有用 1
    回复
登录 后发表内容
问题标签