uni-app 【报Bug】 unicloud-db/JQL中where="size(arr)==0||arr.code=='0001'"只获取到了arr为空数组的数据
uni-app 【报Bug】 unicloud-db/JQL中where="size(arr)==0||arr.code==‘0001’"只获取到了arr为空数组的数据 产品分类: uniCloud/App
示例代码:
<unicloud-db ref="udb2" v-slot:default="{data, pagination, loading, hasMore, error}" collection="test" field="title,arr"
where="size(arr)==0||arr.code=='0001'">
{{data}}
</unicloud-db>
操作步骤:
运行到浏览器显示
预期结果:
[
{“title”: “title1”,“arr”: []},
{“title”: “title2”, “arr”: [ {“code”: “0001”,“name”: “name1”},{ “code”: “0002”,“name”: “name2”}]}
]
实际结果:
[
{“title”: “title1”,“arr”: []}
]
bug描述:
jql 查询数据库中数据,条件为:arr字段长度等于0或者arr.code等于’0001’,即 where=“size(arr)==0||arr.code==‘0001’”。最后只获取到arr字段长度等于0的字段。 数据:
[
{"title": "title1","arr": []},
{"title": "title2", "arr": [{"code": "0001","name": "name1"},{ "code": "0002","name": "name2"}]}
]
更多关于uni-app 【报Bug】 unicloud-db/JQL中where="size(arr)==0||arr.code=='0001'"只获取到了arr为空数组的数据的实战教程也可以访问 https://www.itying.com/category-93-b0.html
如果使用了数据库运算方法查询语句会被转换成复杂表达式,此时不能通过这种方式匹配数组内的元素
更多关于uni-app 【报Bug】 unicloud-db/JQL中where="size(arr)==0||arr.code=='0001'"只获取到了arr为空数组的数据的实战教程也可以访问 https://www.itying.com/category-93-b0.html
arr.code=='0001’可以改写成啥样呢
回复 y***@yeah.net: 现在有个稍微复杂点的写法,‘size(arr)==0||size(filter(arr, “item”, eq("$$item.code",“0001”)))!=0’


