wxb-bizhi-classify.schema.json
{
"bsonType": "object",
"required": [
"name"
],
"permission": {
"read": true,
"create": false,
"update": false,
"delete": false
},
"properties": {
"_id": {
"description": "存储文档 ID,系统自动生成"
},
"name": {
"bsonType": "string",
"description": "分类名称",
"label": "名称",
"trim": "both",
"minLength": 2,
"maxLength": 8
},
"select": {
"bsonType": "bool",
"description": "是否精选 默认false ,true是精选",
"defaultValue": false
},
"enable": {
"bsonType": "bool",
"description": "是否启用 默认false ,true是启用",
"defaultValue": false
},
"sort": {
"bsonType": "int",
"description": "类别显示顺序",
"label": "排序"
},
"picurl": {
"bsonType": "string",
"description": "缩略图地址"
},
"createTime": {
"bsonType": "timestamp",
"description": "创建时间",
"forceDefaultValue": {
"$env": "now"
}
}
},
"version": "0.0.1"
}
wxb-bizhi-piclist.schema.json
{
"bsonType": "object",
"required": [
"user_id",
"title",
"content"
],
"permission": {
"read": true,
"create": true,
"update": true,
"delete": true
},
"properties": {
"_id": {
"description": "存储文档 ID(用户 ID),系统自动生成"
},
"user_id": {
"bsonType": "string",
"description": "作者ID, 参考uni-id-users 表",
"foreignKey": "uni-id-users._id",
"defaultValue": {
"$env": "uid"
}
},
"classid": {
"bsonType": "string",
"title": "分类",
"description": "分类 id,参考wxb-bizhi-classify表",
"foreignKey": "wxb-bizhi-classify._id"
},
"description":{
"bsonType": "string",
"description": "描述",
"defaultValue":""
},
"score":{
"bsonType": "string",
"description": "评分"
},
"tabs": {
"bsonType": "array",
"description": "标签组",
"defaultValue":[]
},
"checked": {
"bsonType": "bool",
"description": "是否展现:true展现 false不展现",
"defaultValue": true
},
"view_count": {
"bsonType": "int",
"title": "阅读次量",
"description": "阅读次量",
"defaultValue":50
},
"download_count": {
"bsonType": "int",
"description": "下载次数",
"defaultValue":0
},
"score_count": {
"bsonType": "int",
"description": "评分数量",
"defaultValue":0
},
"createTime": {
"bsonType": "timestamp",
"title": "发表时间",
"description": "发表时间",
"defaultValue": {
"$env": "now"
}
},
"picurl": {
"bsonType": "string",
"description": "壁纸地址"
}
},
"version": "0.0.1"
}
云对象的方法
async list({pageSize=9,pageNum=1}={}){
let skip=(pageNum-1)*pageSize
let wer={enable:true}
const dbJQL=uniCloud.databaseForJQL({
clientInfo:this.getClientInfo()
})
let classTemp= dbJQL.collection("wxb-bizhi-classify")
.where(wer)
.orderBy("sort asc")
.skip(skip).limit(pageSize)
.getTemp()
// return classTemp
let picTemp= dbJQL.collection("wxb-bizhi-piclist")
.field("createTime,classid")
.orderBy("createTime desc")
.limit(1).getTemp()
return await dbJQL.collection(classTemp,picTemp).limit(3).get()
}
获得结果
{
"code": 0,
"errCode": 0,
"message": "",
"errMsg": "",
"systemInfo": [],
"data": [{
"_id": "699e887ecbe5c88a55d9587f",
"name": "自然风光",
"sort": 0,
"enable": true,
"picurl": "https://env-00jy5tfqbt3i.normal.cloudstatic.cn/wallpaper/20260301/1772343777863.webp",
"select": true,
"createTime": 1771997309285
}, {
"_id": "699eaac69f151a19a630d806",
"name": "AI美女",
"sort": 4,
"enable": true,
"picurl": "https://env-00jy5tfqbt3i.normal.cloudstatic.cn/wallpaper/20260228/1772274799933.webp",
"select": true,
"createTime": 1772006085510
}, {
"_id": "69a0fe5c952272c52c257a3a",
"name": "动物世界",
"sort": 5,
"enable": true,
"picurl": "https://env-00jy5tfqbt3i.normal.cloudstatic.cn/wallpaper/20260227/1772158554399.webp",
"select": true,
"createTime": 1772158555573
}]
}
两表数据没有关联上
1 个回复
Ask小助手 - Ask社区AI助手
问题根源
在 JQL 的「虚拟联表」里,副表(wxb-bizhi-piclist)必须先用 where 指出与主表(wxb-bizhi-classify)的关联条件,否则两张表只是简单拼在一起,不会按 foreignKey 自动匹配。
你现在的代码:
既没有
where也没有把classid作为关联条件,所以结果里看不到任何 piclist 的数据。修正做法
给副表临时表加上与主表
_id的等值条件即可:这样 JQL 会把
picTemp中classid与classTemp的_id匹配,真正完成联表。要回复问题请先登录或注册
公告
更多>相关问题