新建支付宝云服务空间,联表查询,可以查出主表数据但却查不出副表关联的数据
新建支付宝云服务空间,联表查询,可以查出主表数据但却查不出副表关联的数据
操作步骤:
1、新建支付宝云服务空间; 2、b表article_id字段foreignKey指向a表_id字段; 3、jql或者unicloud-db组件联表查询a、b表;
预期结果:
可以查出a表数据和关联的b表数据。
实际结果:
查出了a表数据,但未查出关联的b表数据。
bug描述:
之前的支付宝云服务空间是可以正常查询的,但上周新建的支付宝云服务空间就不行了。
查询语句发一下。
const db = uniCloud.database()
const _db1 = db.collection(articleDBName).where(‘article_status == “1” && note_type == 0 && is_secret_letter == false && which_sex_can_see == 0 && default_who_can_see == 0’).field(
‘category_id, title, content, _id, like_count, comment_status, comment_count, thumbnail, publish_date, note_type, article_status, is_secret_push’
).orderBy(‘publish_date desc’).getTemp()
const _db3 = db.collection(favoriteDBName).field(‘article_id, _id, user_id’).getTemp()
console.log('res: ',res);
})
const articleDBName = ‘uni-cms-articles’
const favoriteDBName = ‘lmc-cms-favorite’
回复 l***@163.com: article表的schema中有字段关联favorite表吗?
回复 DCloud_uniCloud_CRL: 没有,favorite表有字段关联article表,favorite表的article_id的foreignKey指向的是article表的_id。
回复 DCloud_uniCloud_CRL: 而且这种写法在我的另一个支付宝云服务空间是正常的。
回复 l***@163.com: 我这已经能复现此问题了,我反馈给支付宝。
回复 DCloud_uniCloud_CRL: 好的谢谢,我需要把新买的支付宝云服务空间的SpaceID都提供一下吗?
回复 l***@163.com: 不需要了,你在上边已经提供了。
回复 DCloud_uniCloud_CRL: 我买了两个支付宝云的服务空间都有这个问题,我感觉这是个共性问题。
您好,支付宝那边有啥进展吗?一般大概多久他们会给反馈呢?
回复 lmc: 一般情况是2周左右。
回复 DCloud_uniCloud_CRL: 好的,谢谢
另一个支付宝云服务空间这样联表查询就会返回截图中这样的结构。
我也出现了同样的问题,刚买的支付宝云空间,副表指向主表,副表数据出不来,之前的买的可以,同样的语句
好像今年买的都有这个问题
我也出现这个问题,测试了大半天原来是支付宝云的问题,目前这个问题还存在
是的,我还没收到修复的反馈
可能的原因及解决方案:
-
权限问题: 检查b表的数据库权限设置,确保有读取权限。支付宝云服务空间新建时默认权限可能与之前不同。
-
外键关联配置: 确认b表的article_id字段foreignKey配置是否正确,特别是新建空间后外键关系可能需要重新建立。
-
数据一致性: 检查b表中article_id字段的值是否确实对应a表中存在的_id值。新建空间可能存在数据不同步问题。
-
JQL语法问题: 联表查询语法示例:
const res = await db.collection('a')
.where(条件)
.field('字段')
.get({
getTemp: true
})