【问题标题】:How to use the javascript var to reference the Mongo DB collection's field如何使用 javascript var 引用 Mongodb 集合字段
【发布时间】:2015-06-09 22:09:19
【问题描述】:

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

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

在 Mongo shell 中,我通过 JavaScript var 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)
    }
)

【问题讨论】:

    标签: javascript mongodb mongo-shell


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      试试下面的sn-p

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

      谢谢

      【讨论】:

        猜你喜欢
        • 2018-10-26
        • 2022-10-05
        • 1970-01-01
        • 2016-02-16
        • 1970-01-01
        • 2023-03-22
        • 2019-06-17
        • 2023-03-26
        • 2015-02-17
        相关资源
        最近更新 更多