【问题标题】:Meteor: how to get the variable content as key for Mongo queryMeteor:如何获取变量内容作为 Mongo 查询的键
【发布时间】:2016-02-19 23:26:29
【问题描述】:
var key= "features.1.attributes.2";
SurveyDefinitions.update({"_id": "5XCcprsk2wgbyvman"}, {$set: {"features.1.attributes.2" : "update-fails"}});
SurveyDefinitions.update({"_id": "5XCcprsk2wgbyvman"}, {$set: {key : "update-works"}});

虽然使用内联字符串的第一次更新有效,但使用相同键但存储在变量中的第二次更新无效。

相反,它作为 {key:"update-works"} 条目写入文档,因此不评估 key 而是将其作为名称。 Meteor 怎么可能评估变量“key”?

【问题讨论】:

    标签: meteor


    【解决方案1】:
    var data = {};
    data[key]=event.target.value;
    console.log(data);
    var result= SurveyDefinitions.update({"_id": masterTemplate._id},  {$set:data});
    

    【讨论】:

    • 为了扩展这个答案,当您包含内联“key”属性时,javascript 会将其解释为文字。在 Roland 的回答中,他正确地使用了键的值来设置数据对象。另一种选择(如果您使用的是 ES2015)是 SurveyDefinitions.update({"_id": "5XCcprsk2wgbyvman"}, {$set: {[key] : "update-works"}}); -- 请注意键周围的括号,这是一个称为“计算(动态)属性名称”的新功能。更多信息:babeljs.io/docs/learn-es2015/#enhanced-object-literals
    猜你喜欢
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    相关资源
    最近更新 更多