我試圖更新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