收藏
回答

云函数 geoNear() 分页只能输出前100条

问题模块 框架类型 问题类型 终端类型 AppID 基础库版本
云开发 小程序 Bug 工具 .skip((page-1) * pageSize) .limit(pageSize) 最新

代码如下:

let res = await db.collection('cars')
  .aggregate()
  .geoNear({
    distanceField: 'distance'// 输出的每个记录中 distance 即是与给定点的距离
    spherical: true,   distanceMultiplier: 0.001,
    near: db.Geo.Point(event.longitude, event.latitude),
    key: 'location'// 若只有 location 一个地理位置索引的字段,则不需填
    includeLocs: 'location'// 若只有 location 一个是地理位置,则不需填
  })
  .skip((page-1) * pageSize)
  .limit(pageSize)
  .lookup({
    from'shops',
    localField: 'shopId',
    foreignField: '_id',
    as'shop',
  })
  .end()


此代码前100条的分页都正常,但是100条之后,返回的都是空数组

想用geoNear()的limit ,可是 geoNear() 只有limit 并没有skip

想把skiplimit 放geoNear前面,但geoNear必须跟在aggregate后面第一个,不然会报错

这个要怎么解决啊?官方是不是给geoNear 少了个skip字段啊?


最后一次编辑于  2019-12-19
回答关注问题邀请回答
收藏

2 个回答

  • 铭锋科技
    铭锋科技
    2019-12-21

    云函数,没研究

    2019-12-21
    赞同
    回复
  • 假装在上海
    假装在上海
    2019-12-19

    官方明确说了 有100条限制

    2019-12-19
    赞同
    回复 1
    • CallMeSoul
      CallMeSoul
      2019-12-19
      我已经分页了,一次取20条。
      发现了没geoNear就可以突破100条,有geoNear就不可以了超过100条
      2019-12-19
      回复
登录 后发表内容
问题标签