新建空间前端部分查询报错 uni-app

新建空间前端部分查询报错 uni-app

开发环境 版本号 项目创建方式
uniCloud/支付宝小程序云 未知 未知

示例代码:

collectionList: [ 
    db.collection('uni-id-users').field('ali_openid,apple_openid,avatar,avatar_file,comment,dcloud_appid,department_id,email,email_confirmed,gender,invite_time,inviter_uid,last_login_date,last_login_ip,mobile,mobile_confirmed,my_invite_code,nickname,role,score,status,username,wx_unionid,qq_unionid,tags').getTemp(),
    db.collection('uni-id-roles').where({role_id:'1'}).field('role_id, role_name').getTemp() 
]

操作步骤:

未提供具体操作步骤

预期结果:

正常查询

实际结果:

invalid $expr

bug描述:

新建空间查询报错,用之前空间正常1、in查询2、关联查询子表加条件

更多关于新建空间前端部分查询报错 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

确认问题,已反馈支付宝修复。

更多关于新建空间前端部分查询报错 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html


啥时候能修复 阿里云好像也这样 我们项目新空间都没法用

根据提供的错误信息"invalid $expr",这通常是由于查询条件表达式不合法导致的。针对您的问题,我分析如下:

  1. 问题可能出在关联查询的条件表达式上。在uniCloud的联合查询中,where条件需要特别注意格式。

  2. 对于您提供的示例代码,建议检查以下几点:

  • 确保db.collection('uni-id-roles').where({role_id:'1'})中的条件格式正确
  • 确认role_id字段的数据类型是否匹配(字符串’1’还是数字1)
  1. 针对in查询和关联查询子表加条件的问题,建议:
  • 检查in查询的字段是否存在且类型匹配
  • 确保关联查询的子表条件表达式符合规范
  1. 解决方案尝试:
// 修改where条件为严格类型匹配
collectionList: [ 
    db.collection('uni-id-users').field('ali_openid,...').getTemp(),
    db.collection('uni-id-roles').where({role_id: db.command.eq('1')}).field('role_id, role_name').getTemp() 
]
回到顶部