2015-04-05 127 views
0

我想將字段value從字符串更改爲對象。如何使用javascript var引用Mongo DB集合的字段

...{value: "my title"}... ===> ...{value:{value:"my title ABC"}} 

在蒙戈殼,我通過JavaScript的變種articlePath呈現這個字段。現在,我如何使用這個var來更新字段值?

以下代碼是創建一個新字段articlePath而不是使用var的值。

var articlePath = "layout.content.header." + i + "." + j + ".value" 
var articleValue = block.value + " ABC" 
db.mycollection.update(
    {_id: catId}, 
    { 
     $set: { 
      articlePath: {value: articleValue} 
     } 
    }, 
    function(err, numberUpdated) { 
     print("--->err: ", err) 
    } 
) 

回答

0

不能使用的文字符號通過變量的值設定項的名稱。試試這個方法:

var update = { "$set" : { } } 
update["$set"][articlePath] = { "value" : articleValue } 
db.mycollection.update({ "_id" : catId }, update, *callback*) 
+0

。有用。 :) – user1982334 2015-04-07 01:03:35

0

試試下面的代碼片段

var articlePath = {}; 
var keyName = "layout.content.header." + i + "." + j + ".value"; 
var articleValue = block.value + " ABC"; 
articlePath[keyName] = articleValue; 

db.mycollection.update(
    {_id: catId}, 
    { 
     $set: articlePath 
    }, 
    function(err, numberUpdated) { 
     print("--->err: ", err) 
    } 
) 

感謝

+0

非常感謝。有用。 :)非常感謝 – user1982334 2015-04-07 01:03:28

相關問題