如何让这个查询使用我的变量而不是硬编码的 0?
let pos = 0;
{$set: {'answers.0.acknowledged': data}}
最佳答案
通常你的选择是template literals , Array.join , String.concat等:
let pos = 0;
let data = 'data';
let query = {$set: {[['answers.', pos,'.acknowledged'].join('')]: data}}
console.log(query);
与 String.concat :
let pos = 0;
let data = 'data';
let query = {$set: {['answers.'.concat(pos,'.acknowledged')]: data}}
console.log(query);
Array.join , String.concat template literals do not 有更好的浏览器支持.如果要在客户端使用它们。在你的情况下,如果你在后端使用它们,你可能没有什么可担心的。
关于javascript - 使用变量获取位置然后修改mongodb中的特定对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56364365/