Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用变量作为键更新mongo集合_Javascript_Mongodb_Meteor - Fatal编程技术网

Javascript 如何使用变量作为键更新mongo集合

Javascript 如何使用变量作为键更新mongo集合,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,假设以下文档结构,如何使用变量定义指定的键?价值观可以是观察的、超现实的、物理的或其他的 如果需要使用对象来创建更新,请说明如何创建。如果重组文件更好,那么欢迎提出建议 Comedians.update( { "id":row[0]}, { 'id':row[0], 'surname':row[1], 'firstName':row[2], 'observational':{ //<--key generate

假设以下文档结构,如何使用变量定义指定的键?价值观可以是观察的、超现实的、物理的或其他的

如果需要使用对象来创建更新,请说明如何创建。如果重组文件更好,那么欢迎提出建议

    Comedians.update(
      { "id":row[0]},
      { 'id':row[0],
        'surname':row[1],
        'firstName':row[2],
        'observational':{ //<--key generated dynamically (observational/ surreal/ physical)
          'routines':{
            'year1':{
              'club1':row[6],
              'club2':row[8],
              'club3':row[10]
            },
            'year2':{
              'club1':row[14],
              'club2':row[16],
              'club3':row[18]
            },
            'year3':{
              'club1':row[20],
              'club2':row[22],
              'club3':row[24]
            }
          },
          'jokes':{
            'year1':{
              'club1':row[7],
              'club2':row[9],
              'club3':row[11]
            },
            'year2':{
              'club1':row[13],
              'club2':row[15],
              'club3':row[17]
            },
            'year3':{
              'club1':row[19],
              'club2':row[21],
              'club3':row[23]
            }
          }, 
        } 
      },
      {upsert: true},
      function(error,result){
        if ( error ) console.log ( error ); 
        if ( result ) console.log ( result );
      });
Comedians.update(
{“id”:行[0]},
{'id':第[0]行,
“姓氏”:第[1]行,
“firstName”:第[2]行,

“observational”:{/这是基本javascript。您需要使用代码创建用于更新的对象,而不是将其作为常量写入。以下是一种方法:

var newObj = { 
    'id':row[0],
    'surname':row[1],
    'firstName':row[2],
};
var myVariable = "observational";  //<--key generated dynamically (observational/ surreal/ physical)
newObj[myVariable] = {
    'routines':{
        'year1':{
            'club1':row[6],
            'club2':row[8],
            'club3':row[10]
        },
        'year2':{
            'club1':row[14],
            'club2':row[16],
            'club3':row[18]
        },
        'year3':{
            'club1':row[20],
            'club2':row[22],
            'club3':row[24]
        }
    },
    'jokes':{
        'year1':{
            'club1':row[7],
            'club2':row[9],
            'club3':row[11]
        },
        'year2':{
            'club1':row[13],
            'club2':row[15],
            'club3':row[17]
        },
        'year3':{
            'club1':row[19],
            'club2':row[21],
            'club3':row[23]
        }
    }, 
};

Comedians.update(
    { "id":row[0]},
    newObj,
    {upsert: true},
    function(error,result){
        if ( error ) console.log ( error ); 
        if ( result ) console.log ( result );
    }
);
var newObj={
“id”:行[0],
“姓氏”:第[1]行,
“firstName”:第[2]行,
};

var myVariable=“观测”;//请用您的问题更新您的问题tried@mvanio这看起来像是和的复制品。这些回答了你的问题还是你问了其他问题?@DavidWeldon尝试了这些,认为我不理解如何将解决方案应用于嵌入式文档。或者可能文档结构不正确。顺便说一句,不错的博客,提到了y我们的“常见错误”出现了好几次。非常有用。谢谢。测试了这个,它按预期工作。FWIW I很接近。