x***@163.com
x***@163.com
  • 发布:2025-10-27 21:02
  • 更新:2025-10-29 13:33
  • 阅读:115

【报Bug】支付宝云查询字段为array的字段BUG

分类:uniCloud

产品分类: uniCloud/支付宝小程序云

操作步骤:
  arr:[{  
    name: 'item-1',  
  },{  
    name: 'item-2',  
  }]  
}  

{  
  arr:[{  
    name: 'item-3',  
  },{  
    name: 'item-4',  
  }]  
}  

const res = await db.collection('test').where({
'arr.0.name': 'item-1'
})
这个代码可以正常查询第一个位置如果为item-1就返回预期值
const res = await db.collection('test').where({
'arr.name': 'item-1'
})
这样就不行了 阿里云OK 支付宝云不行

预期结果:

const res = await db.collection('test').where({
'arr.0.name': 'item-1'
})
这个代码可以正常查询第一个位置如果为item-1就返回预期值
const res = await db.collection('test').where({
'arr.name': 'item-1'
})
这样就不行了 阿里云OK 支付宝云不行

实际结果:

const res = await db.collection('test').where({
'arr.0.name': 'item-1'
})
这个代码可以正常查询第一个位置如果为item-1就返回预期值
const res = await db.collection('test').where({
'arr.name': 'item-1'
})
这样就不行了 阿里云OK 支付宝云不行

bug描述:

官方自己文档里支付宝云都复现不了 阿里云可以正常使用 就是arr.0.name可作为条件可以查询 arr.name就不行了

2025-10-27 21:02 负责人:无 分享
已邀请:
DCloud_uniCloud_VK

DCloud_uniCloud_VK

支付宝云数组字段的查询需要先添加 array 类型的索引,你先添加完再试试

  • x***@163.com (作者)

    您好 添加以后还是不可以 我重新建立了一个表 添加好array的索引后也不可以...

    2025-10-29 13:27

  • x***@163.com (作者)

    回复 x***@163.com: 我在楼下贴了控制台的索引和数据库的数据结构,请帮忙看看 感谢

    2025-10-29 13:33

x***@163.com

x***@163.com (作者)


请帮忙看看 这样设置是否正确

  • DCloud_uniCloud_VK

    索引字段只设置 bom,即bom字段为array索引试试

    2025-10-29 14:12

  • x***@163.com (作者)

    回复 DCloud_uniCloud_VK: 试了 不行。您看下方便在支付宝云复现一下吗

    2025-10-29 14:45

  • DCloud_uniCloud_VK

    回复 x***@163.com: 支付宝云确实有兼容性问题


    支付宝云空间以2024年11月起为分割线,之前创建的内置数据库正常,之后创建的则可能出现语法兼容性问题。


    这是因为:2024年11月后,支付宝云将内置数据库更换为兼容部分MongoDB语法的​​自研数据库​​(源于支付宝内部战略调整)


    因此,从老空间迁移数据到新空间时,部分数据库操作代码可能需要进行调整以绕过兼容性问题


    目前现状(2025-09)



    • 逐步修复:​​支付宝云团队正在持续修复语法兼容性问题

    • 架构限制:由于底层数据库架构差异,​​无法实现100%兼容所有MongoDB语法​​,尤其是复杂的聚合查询语句


    支付宝云优势



    • 支付宝云函数在​​响应速度​​和​​IP防刷​​等能力上具有明显优势


    为了彻底解决支付宝云新空间内置数据库的兼容问题,DCloud专门推出​​扩展数据库​​服务,扩展数据库底层是独立的原生MongoDB数据库实例,且无语法兼容性问题,非常适合想要高性能、高可用的业务场景使用。


    2025-10-29 15:08

  • x***@163.com (作者)

    回复 DCloud_uniCloud_VK: 好的吧...谢谢啦

    2025-10-29 15:59

要回复问题请先登录注册