运行上面代码

咸虾米
- 发布:2025-06-05 15:48
- 更新:2025-06-06 10:55
- 阅读:45
产品分类: uniCloud/支付宝小程序云
操作步骤:
预期结果:
获取满足地理位置条件的数据
获取满足地理位置条件的数据
实际结果:
地理位置索引不起作用
地理位置索引不起作用
bug描述:
经测试,同样的代码和索引,再阿里云服务空间可以,但是在支付宝服务空间就检出不出地理位置。
let [longitude,latitude]=location;
pageSize = Math.min(100,pageSize);
pageCurrent = (pageCurrent - 1) * pageSize;
let {data:[{code=null}={}]=[]} = await dbJQL.collection('JLJ-merchant-list').aggregate()
.geoNear({
distanceField: 'distance', // 输出的每个记录中 distance 即是与给定点的距离
spherical: true,
near: new dbJQL.Geo.Point(longitude,latitude)
})
.limit(1)
.project({
area:$.arrayElemAt(['$area', 1])
})
.project({
code:"$area.code"
})
.end();
return code;
下面是地理位置索引
[
{
"IndexName": "location",
"MgoKeySchema": {
"MgoIndexKeys": [
{
"Name": "location",
"Direction": "2dsphere",
"Type":"point"
}
],
"MgoIsUnique": false
}
}
]
咸虾米 (作者)
可以查询出来了,但是geoNear聚合阶段中maxDistance属性好像有问题,.limit(1) 去掉后,我的理解是将这个值设置的大一些,是不是应该会获取多个地址,现在是无论将这个值调多大,都还是一个
2025-06-07 17:38