uni-app 支付宝云数组运算方法 arrayElemAt 返回的结果仍然是null
uni-app 支付宝云数组运算方法 arrayElemAt 返回的结果仍然是null
操作步骤:
- 执行如上代码,使用JQL的
arrayElemAt
运算方法
预期结果:
- 应该返回数组的第一位
实际结果:
- 返回了null
bug描述:
看下面的代码,支付宝云数组运算方法 arrayElemAt
返回的结果仍然是null。
return await dbJQL.collection(picTemp,userTemp,classTemp).field(`
picurl,
score,
checked,
createTime,
arrayElemAt(classid.name,0) as classname,
arrayElemAt(user_id.nickname,0) as nickname,
arrayElemAt(user_id._id,0) as user_id,
view_count,
download_count,
score_count
`).get({getCount:true});
更多关于uni-app 支付宝云数组运算方法 arrayElemAt 返回的结果仍然是null的实战教程也可以访问 https://www.itying.com/category-93-b0.html
字段有设置数组索引吗?
更多关于uni-app 支付宝云数组运算方法 arrayElemAt 返回的结果仍然是null的实战教程也可以访问 https://www.itying.com/category-93-b0.html
大佬,数组索引指的是什么
回复 咸虾米: 在uniCloud控制台创建索引,可以创建数据索引类型的索引。支付宝云数组字段必须要设置数组索引。
回复 DCloud_uniCloud_CRL: 好的,明白了,阿里云是不需要的吧,支付宝数组创建索引是现在的临时方案,还是以后支付宝云对数组都要设置索引那?
根据你提供的代码和问题描述,arrayElemAt
返回null可能是以下几个原因导致的:
-
数据源问题:确保
classid
和user_id
字段确实是数组类型,并且数组中有元素。如果这些字段本身就是非数组类型或空数组,arrayElemAt
会返回null。 -
字段引用问题:在JQL中引用嵌套字段时,确保路径正确。比如
classid.name
应该是数组中的对象包含name属性。 -
支付宝云函数限制:支付宝云环境可能对JQL操作有特殊限制,建议检查支付宝云官方文档中关于JQL数组操作的支持情况。
-
语法问题:尝试简化查询,先确认基础字段能正常返回,再逐步添加
arrayElemAt
操作。
建议先单独查询这些数组字段,确认数据结构是否符合预期:
return await dbJQL.collection(picTemp)
.field('classid, user_id')
.get()