新建支付宝云服务空间,联表查询,可以查出主表数据但却查不出副表关联的数据

新建支付宝云服务空间,联表查询,可以查出主表数据但却查不出副表关联的数据

操作步骤:

1、新建支付宝云服务空间; 2、b表article_id字段foreignKey指向a表_id字段; 3、jql或者unicloud-db组件联表查询a、b表;

预期结果:

可以查出a表数据和关联的b表数据。

实际结果:

查出了a表数据,但未查出关联的b表数据。

bug描述:

之前的支付宝云服务空间是可以正常查询的,但上周新建的支付宝云服务空间就不行了。

29 回复

查询语句发一下。


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()

db.collection(_db1, _db3).get().then(res => {

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: 好的,谢谢

另一个支付宝云服务空间这样联表查询就会返回截图中这样的结构。

我也出现了同样的问题,刚买的支付宝云空间,副表指向主表,副表数据出不来,之前的买的可以,同样的语句

好像今年买的都有这个问题

我也出现这个问题,测试了大半天原来是支付宝云的问题,目前这个问题还存在

是的,我还没收到修复的反馈

可能的原因及解决方案:

  1. 权限问题: 检查b表的数据库权限设置,确保有读取权限。支付宝云服务空间新建时默认权限可能与之前不同。

  2. 外键关联配置: 确认b表的article_id字段foreignKey配置是否正确,特别是新建空间后外键关系可能需要重新建立。

  3. 数据一致性: 检查b表中article_id字段的值是否确实对应a表中存在的_id值。新建空间可能存在数据不同步问题。

  4. JQL语法问题: 联表查询语法示例:

const res = await db.collection('a')
  .where(条件)
  .field('字段')
  .get({
    getTemp: true
  })
回到顶部