收藏
回答

db.command.set 中包含 db.Geo.Point 时会报签名错误

问题模块 框架类型 问题类型 终端类型 AppID 基础库版本
云开发 小程序 Bug 微信安卓客户端 test 0.8.1

const cloud = require('wx-server-sdk')
 
cloud.init({ env: '环境ID' });
const db = cloud.database();
const _ = db.command;
 
exports.main = async () => {
  await db.collection('todos').add({
    data: {
      _id: 'xxx',
      description: 'eat an apple',
      test: { location: db.Geo.Point(113, 23), other0: 0 }
    }
  });
 
  await db.collection('todos').doc('xxx').update({
    data: {
      test: _.set({ location: db.Geo.Point(113, 23), other1: 1, other2: 2 })
    }
  })
}


复现步骤:

  1. 在云环境中创建一个  todos 集合

  2. 新建一个云函数,替换为上面的代码,修改云环境 env id

  3. 右键点击云函数,打开 「本地调试」

  4. 勾选「本地调试」,点击 「调用」

  5. 即可出现


抛出 Error:

errCode: -501001 resource system error | errMsg: signature calculated is different from client signature; 

最后一次编辑于  09-06
回答关注问题邀请回答
收藏

1 个回答

  • 春虫虫
    春虫虫
    09-03

    您好,我这边试了一下是成功的,没有出现这个报错,考虑你这边出错是缓存问题或者数据问题,可以清理缓存试一下哈~

    如果还有问题,麻烦提供一下环境id和个人账号信息~

    09-03
    赞同
    回复 2
    • 田成斌
      田成斌
      09-06
      本地调试就有问题,100%复现,已经更新复现步骤。
      09-06
      回复
    • Rover
      Rover
      09-15
      100%复现问题~可以看下我的问题贴~
      09-15
      回复
问题标签