两层嵌套的操作正常是这样的
db.collection.update({'xxx': 'xxx'}, {$inc: {'aaa.bbb': 1}})
但现在如果bbb是不确定的,是个变量,比如是
let x = 'bbb';
db.collection.update({'xxx': 'xxx'}, {$inc: {`aaa.${x}`: 1}})
这样就会出错,该咋整?
两层嵌套的操作正常是这样的
db.collection.update({'xxx': 'xxx'}, {$inc: {'aaa.bbb': 1}})
但现在如果bbb是不确定的,是个变量,比如是
let x = 'bbb';
db.collection.update({'xxx': 'xxx'}, {$inc: {`aaa.${x}`: 1}})
这样就会出错,该咋整?
5 回答4.8k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
5 回答1.9k 阅读
2 回答1.3k 阅读✓ 已解决
3 回答2k 阅读
1 回答3.2k 阅读
这个跟
mongodb
没关系,是 js 的语法错误,不能用表达式作为对象的属性,当你用反引号的时候`aaa.${x}`
变成了一个表达式,语法就通不过.要达成效果的的话可以用以下两种方式
其实第二种方法只是把第一种方法复杂化了
参考
对象的扩展