如何使用javascript变量引用Mongo DB集合的字段
我想将字段值类型从字符串更改为对象如何使用javascript变量引用Mongo DB集合的字段,javascript,mongodb,mongo-shell,Javascript,Mongodb,Mongo Shell,我想将字段值类型从字符串更改为对象 ...{value: "my title"}... ===> ...{value:{value:"my title ABC"}} 在Mongo shell中,我通过JavaScript var articlePath呈现此字段。现在,我如何使用这个变量来更新字段值 下面的代码是创建一个新字段articlePath,而不是使用var的值 var articlePath = "layout.content.header." + i + "." + j +
...{value: "my title"}... ===> ...{value:{value:"my title ABC"}}
在Mongo shell中,我通过JavaScript var articlePath呈现此字段。现在,我如何使用这个变量来更新字段值
下面的代码是创建一个新字段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)
}
)
尝试以下代码段
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)
}
)
谢谢,您不能使用文字符号通过变量的值来设置键的名称。试着这样做:
var update = { "$set" : { } }
update["$set"][articlePath] = { "value" : articleValue }
db.mycollection.update({ "_id" : catId }, update, *callback*)