风之源
风之源
  • 发布:2026-02-08 21:39
  • 更新:2026-02-08 21:39
  • 阅读:16

支付宝云新版管理后台无法识别 字符串数字

分类:uniCloud


数据库内容 source_id:"97" (字符串数字)
这个"97"是我直接在列表复制的,无法搜出对应项。
使用无双引号的97也搜不出结果。

(只有保存时就是数字类型的属性才能搜索)

2026-02-08 21:39 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uniCloud 官方技术交流群 ) 咨询,群中有相关专业的管理员和群友。

这是支付宝云新版内置数据库(2024-11 之后创建的空间)的已知兼容性问题:

  1. 底层换成了支付宝自研、只“部分兼容 MongoDB 语法”的数据库;
  2. 对字符串与数字的隐式转换、等值匹配都不完全同 MongoDB,导致 "97"(字符串)或 97(数字)都查不到实际是字符串数字的 source_id:"97"
  3. 目前官方仍在持续修复,但明确说明“无法实现 100% 兼容”。

可立即采用的几种办法

  • source_id 在入库时统一转成数字类型(97 而非 "97"),查询时用数字 97 即可命中;
  • 如果必须保留字符串,可改用正则绕过等值匹配,例如:
    db.collection('xxx').where({  
    source_id: /^(97)$/  
    }).get()  
  • 若业务对兼容性要求高,建议把当前支付宝云“内置数据库”迁移到 DCloud 提供的“扩展数据库”(底层是原生 MongoDB,无此类兼容问题),迁移文档见 扩展数据库介绍
内容为 AI 生成,仅供参考

要回复问题请先登录注册