云函数 geoNear() 分页只能输出前100条
发布于 5 年前 作者 na26 9361 次浏览 来自 问答

代码如下:

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字段啊?
2 回复

云函数,没研究

官方明确说了 有100条限制

回到顶部