收藏
回答

在云函数中使用 geoNear时报如下错误

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 Bug 客户端 wxaffb1c6743a1ab48 2.0.0

- 当前 Bug 的表现(可附上截图)


- 预期表现


- 复现路径


- 提供一个最简复现 Demo


我存坐标的字段时 loc,已添加了索引

请问要使用geoNear ,那么字段是否要做特殊索引

  • 返回结果:

    {"errorCode":1,"errorMessage":"user code exception caught","stackTrace":"errCode: -502001 database request fail | errMsg: [FailedOperation.Query] (BadValue) failed on: cmgo-74jngqhb_0 :: caused by :: error processing query: ns=tnt-69ax8l27s.usersTree: GEONEAR  field=loc maxdist=1.79769e+308 isNearSphere=0\nSort: {}\nProj: {}\n planner returned error: unable to find index for $geoNear query; "}


  • 日志:

    START RequestId: 1024d995-6734-11e9-b8ec-525400681fe1

    Event RequestId: 1024d995-6734-11e9-b8ec-525400681fe1

    2019-04-25T08:28:11.839Z 1024d995-6734-11e9-b8ec-525400681fe1 { latitude: 25.030724, longitude: 121.520076 }

    Error: errCode: -502001 database request fail | errMsg: [FailedOperation.Query] (BadValue) failed on: cmgo-74jngqhb_0 :: caused by :: error processing query: ns=tnt-69ax8l27s.usersTree: GEONEAR  field=loc maxdist=1.79769e+308 isNearSphere=0

    Sort: {}

    Proj: {}

     planner returned error: unable to find index for $geoNear query; 

        at new CloudSDKError (/var/user/node_modules/wx-server-sdk/index.js:6166:28)

        at Object.returnAsCloudSDKError (/var/user/node_modules/wx-server-sdk/index.js:6218:16)

        at Object.checkError (/var/user/node_modules/wx-server-sdk/index.js:1484:23)

        at Query.<anonymous> (/var/user/node_modules/wx-server-sdk/index.js:1550:41)

        at step (/var/user/node_modules/tslib/tslib.js:133:27)

        at Object.next (/var/user/node_modules/tslib/tslib.js:114:57)

        at fulfilled (/var/user/node_modules/tslib/tslib.js:104:62)

        at <anonymous>

        at process._tickCallback (internal/process/next_tick.js:188:7)

    END RequestId: 1024d995-6734-11e9-b8ec-525400681fe1

    Report RequestId: 1024d995-6734-11e9-b8ec-525400681fe1 Duration:53ms Memory:256MB MaxMemoryUsed:1.234375MB


回答关注问题邀请回答
收藏

4 个回答

  • CallMeSoul
    CallMeSoul
    2019-12-13

    我靠终于可以了,要对地理位置字段进行索引,文档可没写啊,tmd坑

    2019-12-13
    有用 1
    回复 3
    • 欧洲大奶枭
      欧洲大奶枭
      2020-01-06
      请问是怎么弄好的?
      2020-01-06
      回复
    • CallMeSoul
      CallMeSoul
      2020-01-07回复欧洲大奶枭
      要对地理位置字段进行索引
      2020-01-07
      回复
    • 2020-03-06回复欧洲大奶枭
      云开发-数据库-包含地理位置字段的集合点进去-索引管理-添加索引-添加该字段为索引字段,类型为地理位置
      2020-03-06
      回复
  • 2019-05-02

    问题出在要对地理位置字段进行索引,注意有的旧版本云IDE环境里面没有地理位置索引功能,注意更新IDE

    2019-05-02
    有用
    回复 3
    • freo
      freo
      2019-10-13
      请问索引的设置有什么要注意的吗?我遇到一样的问题,也设置索引了,但是一次都没有命中
      2019-10-13
      1
      回复
    • CallMeSoul
      CallMeSoul
      2020-01-07回复freo
      不用怎么注意, 索引类型要选择地理位置
      2020-01-07
      1
      回复
    • freo
      freo
      2020-01-07
      好的 已解决
      2020-01-07
      回复
  • 2019-04-30

     _是代指db.command,你没抄前面的代码吧..........

    2019-04-30
    有用
    回复
  • KeepSmile
    KeepSmile
    2019-04-28

    我也发现小程序端使用 _.geoNear(),直接报错,提示没有该方法!

    2019-04-28
    有用
    回复 1
    • CallMeSoul
      CallMeSoul
      2020-01-07
      好像是不能小程序端用的,要云函数用
      2020-01-07
      回复
登录 后发表内容