我试图更新MongoDB文档中的值。文档有很多字段,但我只想指定其中的一些,具体取决于我在UI中更改的字段。Javascript:如何通过指定字符串中的字段来创建对象?
var monthField='calendar.m'+month+'.result';
var triField='calendar.t'+trimester+'.result';
var yearField="calendar.year.result";
Objective.update({_id:{$in:objective.parents}},{
$inc:
{
yearField:transaction.value,
monthField:transaction.value,
triField:transaction.value
}},
{multi:true, upsert:true}
)
不幸的是,上面的代码不“EVAL”的yearField
,monthField
和triField
他们的字符串值,而是试图更新仿佛文档中存在的这些领域。
我知道我可以找到文件,更改值,并将它们逐个保存,但有没有办法做我想做的事情?在一条更新线中做得更好。
您使用的是什么JavaScript运行时环境? –
我使用Node.js,如果这是你想知道的。 –
你在这里没有处理JSON。 JSON * always *是一个字符串,没有别的(该字符串的内容看起来像Javascript,但它不是)。你在这里处理的只是本地对象,即对象文字。 – Tomalak