【发布时间】:2021-09-24 17:16:56
【问题描述】:
作为 MongoDB 的新手,我发现这很有挑战性。如果子文档字段具有特定值,我需要删除除 1 个子文档之外的所有子文档。
以下是源 MongoDB 文档和子文档的示例:
{
_id: <some_UUID>,
fieldA: "<some_fieldA_value>,
subDocA: [
{
subFieldA: "aaa",
subFieldB: "bbb"
},
{
subFieldA: "aaa",
subFieldB: "ccc"
},
{
subFieldA: "aa1",
subFieldB: "ddd"
}
]
}
目标 MongoDb 文档应该是:
{
_id: <some_UUID>,
fieldA: "<some_fieldA_value>,
subDocA: [
{
subFieldA: "aaa",
subFieldB: "bbb"
},
{
subFieldA: "aa1",
subFieldB: "ddd"
}
]
}
即如果子文档字段subFieldA=aaa,则在父文档中只保留1个这样的子文档。
有人可以帮助我提出 MongoDB 查询吗?提前致谢。
编辑:
子文档的其他字段的值可能不同。集合中可能有很多这样的文档我需要做同样的事情。
【问题讨论】:
标签: mongodb