uni-app 支付宝云访问对象属性异常

uni-app 支付宝云访问对象属性异常

示例代码:

{
"obj": {
"1": 1
}
}

操作步骤:

执行查询where({  
}).get()

预期结果:

返回1个文档

实际结果:

返回0个文档

bug描述:

访问数据库中的对象属性,当键名为数字时,无法取到访问结果

3 回复

这破帖子,操作步骤where里的代码被当成文档修饰符了,不完整。
实际为 where({ [‘obj.1’]: $.gt(0) }).get()

更多关于uni-app 支付宝云访问对象属性异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html


社区外的人处理了

这是一个支付宝云数据库的已知特性问题。在支付宝云数据库中,当对象属性的键名为纯数字时,需要通过特殊方式访问。

解决方案:

  1. 使用点符号访问时,需要将数字键名用引号包裹:
where({
  'obj.1': 1
}).get()
  1. 或者使用方括号表示法:
where({
  [`obj[1]`]: 1
}).get()
回到顶部