咸虾米
咸虾米
  • 发布:2025-06-05 15:48
  • 更新:2025-06-06 10:55
  • 阅读:45

【报Bug】支付宝云地理位置索引new dbJQL.Geo.Point检索不出内容,索引也正确进行了创建

分类:uniCloud

产品分类: 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  
        }  
    }  
]
2025-06-05 15:48 负责人:无 分享
已邀请:
DCloud_uniCloud_VK

DCloud_uniCloud_VK

已确认bug,等待支付宝云修复

2025-06-06

支付宝反馈已修复,你可以看下是否正常了

  • 咸虾米 (作者)

    可以查询出来了,但是geoNear聚合阶段中maxDistance属性好像有问题,.limit(1) 去掉后,我的理解是将这个值设置的大一些,是不是应该会获取多个地址,现在是无论将这个值调多大,都还是一个

    2025-06-07 17:38

要回复问题请先登录注册