【问题标题】:Update nested arrays in mongoose更新猫鼬中的嵌套数组
【发布时间】:2013-11-24 01:34:22
【问题描述】:

我有一个类似于以下结构的文档,我想使用 mongoosejs 更新 property3。我试过了:

mongoose.model('someObject').update({"_id":"52817b7be2d14af309000005",
"array1._id":"52817b7be2d14af309000006", 
"array2._id":"52817b7be2d14af309000007"}, {"$set":{"array2.$.property3":false}})

但它似乎不起作用。有没有官方的方法可以做到这一点?此外,是否有一种干净的方法可以在没有自定义路由的情况下使用 expressjs 动态嵌套它?例如。

'put someobject[52817b7be2d14af309000005].array1[52817b7be2d14af309000006]
.array2[52817b7be2d14af309000007].property3 = false'

这是收藏:

someObject:{
  property1:true,
  array1:[
    property2: true,
    array2:[
      property3: true
    ]
  ]
}

【问题讨论】:

    标签: node.js mongodb express mongoose


    【解决方案1】:

    您的收藏似乎无效。 [] 代表数组,但那里有对象属性。正确的集合是:

    {
        "property1": true,
        "array1": {
            "property2": true,
            "array2": {
                "property3": true
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 1970-01-01
      • 2017-05-19
      • 2018-09-13
      • 2020-10-06
      • 2018-10-30
      • 1970-01-01
      相关资源
      最近更新 更多