小程序
小游戏
企业微信
微信支付
扫描小程序码分享
db.collection('todos').doc('test').update({ data: { 'root.objects.1.numbers.2': 80 },})
想把这里的下标1和2 替换为变量,如何操作啊,求救!
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
你这个应该是在云函数里操作的吧,可以替换成变量,下面举个例子,ids 替换成你表里的_id值
a,b是下标变量
var
ids = [
'3c4c6d855d5a1b5e0390982638bdcd27'
,
'90b4093b5d5a1b5d03914fbc49c5a848'
'90b4093b5d5a1b40039133d53b9d07ff'
]
for
(
i
in
ids) {
a = i * 1, b = i + 2,
key =
'root.objects.'
+ a +
'.numbers.'
+ b
db.collection(
'counters'
)
.where({
_id: ids[i]
})
.update({
data: { [key]: 80 }
}).then(res=>{
resolve({ listID: ids[i]})
}
执行结果如下:
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
感谢,困扰我多日的问题终于解决了![key]: 80,这个[]有如指针啊,把key引用内容传送过去,不加[]的话就把key字符串传过去了。多谢!
可以试试下面的写法,两个变量分别是var1和var2
[`root.objects.${var1}.numbers.${var2}`]: 80
键值对的键里面不能写变量
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
你这个应该是在云函数里操作的吧,可以替换成变量,下面举个例子,ids 替换成你表里的_id值
a,b是下标变量
var
ids = [
'3c4c6d855d5a1b5e0390982638bdcd27'
,
'90b4093b5d5a1b5d03914fbc49c5a848'
,
'90b4093b5d5a1b40039133d53b9d07ff'
]
for
(
var
i
in
ids) {
var
a = i * 1, b = i + 2,
key =
'root.objects.'
+ a +
'.numbers.'
+ b
db.collection(
'counters'
)
.where({
_id: ids[i]
})
.update({
data: { [key]: 80 }
}).then(res=>{
resolve({ listID: ids[i]})
})
}
执行结果如下:
感谢,困扰我多日的问题终于解决了![key]: 80,这个[]有如指针啊,把key引用内容传送过去,不加[]的话就把key字符串传过去了。多谢!
可以试试下面的写法,两个变量分别是var1和var2
[`root.objects.${var1}.numbers.${var2}`]: 80
键值对的键里面不能写变量