【问题标题】:Update all object properties at once一次更新所有对象属性
【发布时间】:2018-09-11 14:59:18
【问题描述】:

我有一些复杂/嵌套的对象。

var acctTypes = {
"prop1" : "aaaa" , 
"prop2" : "bbbb" , 
"prop3" : [
  { 
    ... ,
    "propToUpdate" : " ... " , 
    ...
  },
{ 
    ... ,
    "propToUpdate" : " ... " , 
    ...
  },
{ 
    ... ,
    "propToUpdate" : " ... " , 
    ...
  }
] , 
"prop4" : "xxxx"
} 

我想知道除了 foreach 循环之外是否有更优雅的方法来更新特定属性 (propToUpdate)。

谢谢

【问题讨论】:

  • 你需要展示一个对象的例子以及你现在是如何做的。否则这太模糊了。
  • 请提供一些代码示例和架构。谢谢。
  • @FarhanTahir - 提供了示例:)
  • @Igal 看看我的回答,希望对你有帮助。

标签: json node.js crud


【解决方案1】:

您可以这样做,但问题是您需要根据 mongodb 在过滤器查询中嵌入属性

重要

您必须将数组字段作为查询文档的一部分。

虽然你可以这样做:

db.getCollection('acctTypes').update({_id: ObjectId("5ac1e018be3f841f61b4513a"), "prop3_filter_property": prop3_filter_value}, {$set: {"prop3.$.propToUpdate" : "updatedValue"}})

在猫鼬中:

AcctTypes.update(
        { 
          _id: id, 
          "prop3_filter_property": prop3FilterValue
        }, 
        {
          $set : {
           "prop3.$.propToUpdate": updateValue
          }
        }
      )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    • 2022-01-22
    • 2013-01-18
    相关资源
    最近更新 更多