1***@qq.com
1***@qq.com
  • 发布:2025-04-01 16:31
  • 更新:2025-04-03 17:35
  • 阅读:70

云数据库JQL多表联查时,主附表交换位置后,无法查出期望的数据

分类:uniCloud

云对象编写如下:

module.exports = {  
    _before: function() { // 通用预处理器  

    },  
    async list() {  
        const dbJQL = uniCloud.databaseForJQL({  
            clientInfo:this.getClientInfo()  
        })        

        let res = await dbJQL.collection('piclist, classify').get();  
        return res;  
    }  
}

查询出的数据如下:

{  
    "code": 0,  
    "errCode": 0,  
    "message": "",  
    "errMsg": "",  
    "systemInfo": [],  
    "data": [{  
            "_id": "67deb55716dfbe360cc9360f",  
            "tabs": ["哈哈",  
                "嘿嘿"  
            ],  
            "score": "5",  
            "picurl": "https://env-00jxtacu15kq.normal.cloudstatic.cn/wallpaper/20250322/1742648661080_0.webp",  
            "checked": true,  
            "classid": [  
                { "_id": "67d251092776f0fb4fcbe110", "name": "明星美女", "sort": 1, "enable": true, "picurl": "https://env-00jxtacu15kq.normal.cloudstatic.cn/wallpaper/20250328/1743129331775.webp", "select": true, "createTime": 1743129332629 }  
            ],  
            "user_id": "67ce98cebda02baf29b359a3",  
            "createTime": 1742648663077,  
            "view_count": 50,  
            "description": "美女啊哈哈",  
            "score_count": 0,  
            "download_count": 0  
        },  
       ......  
 ])

当我交换连表顺序时:let res = await dbJQL.collection('classify, piclist').get();

查询结果如下:

{  
    "code": 0,  
    "errCode": 0,  
    "message": "",  
    "errMsg": "",  
    "systemInfo": [],  
    "data": [  
        { "_id": "67d251092776f0fb4fcbe110", "name": "明星美女", "sort": 1, "enable": true, "picurl": "https://env-00jxtacu15kq.normal.cloudstatic.cn/wallpaper/20250328/1743129331775.webp", "select": true, "createTime": 1743129332629 }  
    ]  
}

并未根据外键classid查出对应副表piclist信息,请问这个是什么原因

已知piclist表的scheme部分如下:

                .........  
        "classid": {  
            "bsonType": "string",  
            "title": "分类",  
            "description": "分类 id,`classify`表",  
            "foreignKey": "classify._id"              
        },  
            ..........
2025-04-01 16:31 负责人:无 分享
已邀请:
DCloud_uniCloud_CRL

DCloud_uniCloud_CRL

classify表中需要有字段关联 piclist 表才可以查询到。

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

    classify和piclist是一对多的关系,如何在piclist建立字段关联关系呢

    2025-04-07 09:18

  • DCloud_uniCloud_CRL

    回复 1***@qq.com: piclist和 classify应该是一对一关系吧?

    2025-04-07 14:53

要回复问题请先登录注册