如何使用javascript var引用Mongo DB集合's字段

How to use the javascript var to reference the Mongo DB collection's field

本文关键字:字段 集合 DB javascript 何使用 var 引用 Mongo      更新时间:2023-09-26

我想将字段value类型从字符串更改为对象。

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

在Mongoshell中,我通过JavaScriptvararticlePath来呈现这个字段。现在,我如何使用这个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)
    }
)

不能使用文字表示法通过变量的值来设置键的名称。试试这个方法:

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

尝试以下片段

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)
    }
)

感谢