https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/query-array-object.html#匹配并更新数组中的元素
使用$关键字更新数组匹配位置某元素,构建查询参数时,如果同时有另一个数组型字段存在,则$永远匹配到位置0进行更新。
在如下示例中,会始终更新code: 'x'这个元素,而不是预期的code: 'y'元素。
数据结构示例如下:
{
arrayField: ['a', 'b', 'c'],
albums: [
{code: 'x', others: 'apple'}
{code: 'y', others: 'banana'}
]
}
代码示例如下:
.where({
arrayField: 'a',
'albums.code': 'y',
}).update({
data: {
'albums.$.others': 'orange'
}
})
你的数据表结构是怎么样的
{
arrayField: ['x', 'y', 'z'],
albums: [
{code: 'x', others: ''}
{code: 'y', others: ''}
]
}
where({
arrayField: 'x',
albums.code: 'y'
}).update({
albums.$.others: 'something'
})