云开发中如何根据集合中记录的_id及所包含的对象数组的id更新对象数组中的某一字段值?
集合数据结构如下图: [图片] 业务需求:修改items中某一个对象的enable属性的值,如:enbale=false, 借鉴交流专区其他提问的答案,执行显示成功,但是数据并没有更新。请问如何修改? [图片] js代码如下: //修改检查项的可用状态
changeEnable(e) {
//获取前端传值standard_id, item_id
let _standard_id = e.currentTarget.dataset.standard_id
let _item_id = e.currentTarget.dataset.item.id
let _enable = e.currentTarget.dataset.item.enable
let _index = e.currentTarget.dataset.index
console.log(_index, _standard_id, _item_id, _enable)//能够正常获取到值
wx.cloud.database()
.collection('hl_standard')
.where({
'_id': _standard_id,
'id': _item_id
})
.update({
data: {
'items.$.enable': !_enable
}
})
.then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})
}