4***@qq.com
4***@qq.com
  • 发布:2025-01-07 17:30
  • 更新:2025-01-08 17:15
  • 阅读:56

JQL联表查询有误

分类:uniCloud

先说下表结构:书籍book,对应多个书籍目录
需求:通过book_id查询book的信息,并查询出书籍目录列表
book.schema.json

"properties": {  
        "_id": {  
            "description": "ID,系统自动生成"  
        },  
        "name": {  
            "bsonType": "string",  
            "description": "名称"  
        },  
}

book-chapter.schema.json

"properties": {  
        "_id": {  
            "description": "ID,系统自动生成"  
        },  
        "book_id": {  
            "bsonType": "string",  
            "description": "书籍id",  
            "foreignKey": "book._id"  
        },  
        "name": {  
            "properties": "目录名称"  
        },  
}

理想结果:

{  
name:'xxxx',  
chapter:[{  
name:'xxxx}]  
}

仅当book有数据时使用jql查询:

当book在前,bookChapter在后

const dbJQL = uniCloud.databaseForJQL()  
        const book = dbJQL.collection('book').where(`_id == '${book_id}'`).getTemp();  
        const bookChapter = dbJQL.collection('book-chapter').where(`book_id == '${book_id}'`).getTemp();  
        const res = await dbJQL.collection(book, bookChapter).get().catch(err => {  
            console.log(err)  
        });  
        return res

报错:FaasError: Database error

当bookChapter在前,book在后

const dbJQL = uniCloud.databaseForJQL()  
        const book = dbJQL.collection('book').where(`_id == '${book_id}'`).getTemp();  
        const bookChapter = dbJQL.collection('book-chapter').where(`book_id == '${book_id}'`).getTemp();  
        const res = await dbJQL.collection(book, bookChapter).get().catch(err => {  
            console.log(err)  
        });  
        return res

查询结果:data是[]

2025-01-07 17:30 负责人:无 分享
已邀请:
DCloud_uniCloud_CRL

DCloud_uniCloud_CRL

现在好了吗?

  • 4***@qq.com (作者)

    没有,希望得到解答

    2025-01-09 14:53

  • DCloud_uniCloud_CRL

    回复 4***@qq.com: dbJQL.collection(bookChapter, book) 这样呢

    2025-01-09 18:08

  • 4***@qq.com (作者)

    回复 DCloud_uniCloud_CRL: 查询结果是空数组[]

    2025-01-10 11:28

  • DCloud_uniCloud_CRL

    回复 4***@qq.com: 方便的话添加我为协作者,我验证下这个问题,chenruilong@dcloud.io

    2025-01-10 12:09

  • 4***@qq.com (作者)

    回复 DCloud_uniCloud_CRL: 代码仓库协作吗?这个加不了吖,方便见一个代码吗?很少的

    2025-01-14 15:59

  • DCloud_uniCloud_CRL

    回复 4***@qq.com: 不是代码仓库,服务空间的协作者。

    2025-01-15 17:15

  • DCloud_uniCloud_CRL

    回复 4***@qq.com: 或者你自己执行以下,把云函数的requestId发给我也行

    2025-01-15 17:15

要回复问题请先登录注册