const db = uniCloud.database();
let collection = db.collection("table1")
let res = await collection.where({_id:'doc-id'})
.update({
arr: {
1: "uniCloud"
}
})
y***@sina.com
- 发布:2024-02-26 11:54
- 更新:2025-01-08 06:27
- 阅读:269
产品分类: uniCloud/App
示例代码:
操作步骤:
更新数组时,以数组下标作为key
更新数组时,以数组下标作为key
预期结果:
数据库数组字段更新成功
数据库数组字段更新成功
实际结果:
更新失败,数据库报错
更新失败,数据库报错
bug描述:
JQL文档里面的说明:
更新数组时,以数组下标作为key即可,比如以下示例将数组arr内下标为1的值修改为 uniCloud
const db = uniCloud.database();
let collection = db.collection("table1")
let res = await collection.where({_id:'doc-id'})
.update({
arr: {
1: "uniCloud"
}
})
按此方法,数据库会报错:
数据库验证失败:[\"xxx(字段名)\"]类型无效
3 个回复
limingfan
@DCloud_HB_WJ 官方不解决下这个问题吗
1***@qq.com
async upSeenList(uid,num){
}
我的这样可以,但是把下标 1 换成变量就不行了,好像是语法不支持
大菜头
我也碰上了同样的问题,照官方文档写也不行,但看B站教程,2022年的咸虾米视频中,人家是可以的,也不知道是不是因为版本更新后就不行了,如果这样,官方也不作一下说明太坑了。