3

我有一个类似于以下结构的文档,我想使用 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
    ]
  ]
}
4

1 回答 1

0

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

{
    "property1": true,
    "array1": {
        "property2": true,
        "array2": {
            "property3": true
        }
    }
}
于 2014-02-14T08:47:57.487 回答