doc.update不能完全更新数组
发布于 5 年前 作者 nxu 1774 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

云数据库有个数组imgUrl

“detail”:{

“imgUrl”:{

4.jpg

1.jpg

7.jpg

3.jpg

2.jpg

        }

}

想用doc.update更新imgUrl,因为imgUrl是用户上传的图片,数量不确定,发现如果新上传imgUrl的length大于原来的,可以正常更新,如果小于的话,只是更新了部分数据。例如,原来有5个,新数组有2个,那就更新了0和1的两个数组元素,其余的3个继续保留了。

  • 预期表现

实现数组的完全覆盖更新。

  • 复现路径
  • 提供一个最简复现 Demo
2 回复

云函数

// 云函数入口文件

const cloud = require(‘wx-server-sdk’)

cloud.init()

const db = cloud.database()

const _ = db.command

// 云函数入口函数

exports.main = async(event, context) => {

let id = event.id

let data = event.data

let _data = {

“detail”: data

}

try {

return await db.collection(‘trouble’).doc(id).update({

data: _data,

}).then(res => {

})

} catch (e) {

console.error(e)

}

}

是在云函数还是在小程序操作的呢

回到顶部