MongoDB:从嵌套对象数组中删除属性

MongoDB:从嵌套对象数组中删除属性,mongodb,multidimensional-array,Mongodb,Multidimensional Array,我必须从对象数组中的深嵌套对象中删除属性。 看起来是这样的: 我只想为一个特定的期间取消设置个人年龄 对于一个名为“HouseKeepingDamageCost”的特定区块,如果它存在我必须小心,因为区块内的其他对象和其他时段也有一个名为“IndividualAge”的属性,它们可以保留 有人能帮我吗?我用$elemMatch尝试了一下,但没有成功 提前谢谢 Playgorund with my Data&Query:您要使用它来执行此操作: db.collection.update({},

我必须从对象数组中的深嵌套对象中删除属性。
看起来是这样的:

我只想为一个特定的期间取消设置个人年龄
对于一个名为“HouseKeepingDamageCost”的特定区块,如果它存在
我必须小心,因为区块内的其他对象和
其他时段也有一个名为“IndividualAge”的属性,它们可以保留
有人能帮我吗?我用$elemMatch尝试了一下,但没有成功

提前谢谢

Playgorund with my Data&Query:

您要使用它来执行此操作:

db.collection.update({},
{
  "$unset": {
    "Blocks.$[block].Periods.$[period].IndividualAge": ""
  }
},
{
  "multi": false,
  arrayFilters: [
    {
      "block.Name": "HouseKeepingDamageCost"
    },
    {
      "period.Type": "Past"
    }
  ]
})

添加示例数据和您尝试的查询,并使用链接更新报道。@TusharGupta curioustushar我确实添加了数据&我的尝试,请检查。这对我提供的数据无效
HousekeepingDamageCost
链接中的数据中没有capital
K
。不管它是否适用于我的玩具示例,只需根据您的代码调整它,并确保值与您想要的匹配。