2015-04-05 126 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

相关问题