小程序
小游戏
企业微信
微信支付
扫描小程序码分享
文档里写的方式是如果更新第1个就写字段名为'array.0',但是我想更新一个数组的第i个元素,i为参数,我目前使用了模版字符串`array.${i}`和字符串拼接‘array.'+i,这两种方法都不行,请问有什么解决办法吗?谢谢!
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
找到解决办法了!用$位置占位符
https://developers.weixin.qq.com/community/develop/article/doc/00022a7c234cd8865238c81ab5bc13 的第一种办法想到的解决思路:
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)
}
})
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
为什么我这样写不行啊
在此之前都是用循环处理的,贼慢,新方法不错
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
找到解决办法了!用$位置占位符
https://developers.weixin.qq.com/community/develop/article/doc/00022a7c234cd8865238c81ab5bc13 的第一种办法想到的解决思路:
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)
}
})
}
为什么我这样写不行啊
在此之前都是用循环处理的,贼慢,新方法不错