代码如下:
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
想把skip和limit 放geoNear前面,但geoNear必须跟在aggregate后面第一个,不然会报错
这个要怎么解决啊?官方是不是给geoNear 少了个skip字段啊?
云函数,没研究