4***@qq.com
4***@qq.com
  • 发布:2023-06-10 17:01
  • 更新:2023-07-10 12:05
  • 阅读:323

【报Bug】云函数排序时反馈排序不合法,jql工具和本地都可以使用

分类:uniCloud

产品分类: uniCloud/App

示例代码:
const db = uniCloud.database();   
db.collection('xxx').where({  
            user_id: "xxx"  
        }).orderBy("rank_score desc").limit(1).get()

操作步骤:
const db = uniCloud.database();   
db.collection('xxx').where({  
            user_id: "xxx"  
        }).orderBy("rank_score desc").limit(1).get()

预期结果:

[
{
"_id": "xxx",
"create_time": "2023-06-07 00:54:21",
"xx": xxx,
"xxx": xx,
"xx": 1,
"xx": "xx",
"x": 92
}
]

实际结果:

Error: 排序字符不合法
at Function.isFieldOrder (/tmp/function/@dcloudio/serverless/lib/aliyun/uni-cloud.js:1:10922)
at It.orderBy (/tmp/function/@dcloudio/serverless/lib/aliyun/uni-cloud.js:1:41420)
at i.reload_rank (/tmp/function/index.obj.js:742:7)
at <anonymous>

bug描述:

const db = uniCloud.database();   
db.collection('xxx').where({  
            user_id: "xxx"  
        }).orderBy("rank_score desc").limit(1).get()

就这么一行内容,
jql工具里可以用,本地直接跑也可以用。
就云函数里面报错

2023-06-10 17:01 负责人:无 分享
已邀请:
Aboy

Aboy

我也碰到了这个问题,需要修改成orderBy("rank_score","desc")
官方文档好乱,无力吐槽

  • 2***@qq.com

    解决了问题,官方文档垃圾

    2023-07-19 16:37

DCloud_uniCloud_CRL

DCloud_uniCloud_CRL

云函数中使用JQL需要用 uniCloud.databaseForJQL()

Aboy

Aboy

另外如果只读取一条 get内使用getOne:true参数 好像也没用
我一般都是云对象内使用

Aboy

Aboy

JQL和原生的 感觉文档好混乱啊
不小心就搞错了

要回复问题请先登录注册