小程序云函数更新数组的指定位置元素

云开发文档里写的方式是如果更新第1个就写字段名为’array.0’。如:
在这里插入图片描述
但是我想更新一个数组的第i个元素(存的是对象)的key属性,i为参数,我目前使用了模版字符串`array.${i}.key`和字符串拼接‘array.’+i+’.key’,这两种方法都不行。

在看到这篇教程的第一个解决办法之后,我找到了解决思路!

用$位置占位符:
exports.main = async(event, context) => {
    return db.collection('user').where({
        '_id':event.docID,
        'array.key': event.key
    }).update({
        data: {
            'array.$.key': event.value,
            arrNum: _.inc(1)
        },
        success: res => {
            console.log(res)
        }
    })
}

where不仅可以查找文档,还可以查找文档里的某个数组里符合条件的元素的位置!
之后使用存有位置数据的$符号就能更新数组里第i个元素的属性了。

我的原回答:云函数如何更新指定的数组元素?- 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/0000e479ca4890c7be1941bbc5b800

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值