const db = uniCloud.databaseForJQL()
const tong_baogao = db.collection('tong_baogao').field('uid,shikuai_type,serial_number,testing_intensity').getTemp();
const taizhang = db.collection('taizhang').field('_id,part,intensity,jiaozhu_date,lotsize').orderBy(lotsize','desc').getTemp()
console.log(tong_baogao,"台账");
await db.collection(tong_baogao, taizhang) .get()
请问好心大哥:是不是附表的orderBy(lotsize','desc')方法不能使用?
2 个回复
1***@qq.com (作者)
在线等大哥们解惑
DCloud_uniCloud_CRL
从哪里看出来不生效?schema发一下。
1***@qq.com (作者)
{
"bsonType": "object",
"required": [],
"permission": {
"read": true,
"create": true,
"update": true,
"delete": true
},
"properties": {
"_id": {
"description": "ID,系统自动生成"
},
"uid": {
"bsonType": "string",
"trim": "both",
"foreignKey": "taizhang._id",
"defaultValue": ""
},
您好,主表的schema是这样写的。
2025-10-10 15:47
DCloud_uniCloud_CRL
回复 1***@qq.com: 这个排序是按照主表排序的,你关联的副表也不是数组呀
2025-10-10 20:35
1***@qq.com (作者)
回复 DCloud_uniCloud_CRL: 你好,老师,我创建了两张数据库表,然后我需要查主表和附表按照关联关系然后返回一个数据,需要按照副表的part字段排序,其实我的需求就是这样的,然后按照上面那个写法,没得到返回结果,所以我才纳闷的,然后用聚合查询弄了一个,在大量数据下就要崩盘,所以想请问老师,您看上面那个代码按照我这个需求,是哪里出错了呢?
2025-10-11 13:11
1***@qq.com (作者)
上面那个schema是tong_baogao这张表的,另一张表为taizhang
2025-10-11 13:12
DCloud_uniCloud_CRL
回复 1***@qq.com: 返回数据也是按照主表数据返回的,副表返回的数据就是在主表的uid字段里,你uid字段就关联了一条数据呀。
2025-10-11 14:05
1***@qq.com (作者)
回复 DCloud_uniCloud_CRL: 嗯,您好,老师,使用原生生成的每次能取1000个数据,但是不能点击排序,orderBy()无效。
然后自己用聚合写了个方法倒是都行了,但是大量数据查询又要超时,有十万条数据。请问下聚合的.match({part: new RegExp('15', 'g') })方法查询,10万条数据用什么方法可以优化呢??
2025-10-11 19:16
DCloud_uniCloud_CRL
回复 1***@qq.com: 加limit限制。
2025-10-13 11:34