首页 > 解决方案 > 如何从 mongodb 集合中的所有文档中完全删除嵌套对象?

问题描述

假设我想删除秘密嵌套对象:

{
    "_id": "2xhjMSEocFNLrKhXj",
    "name": "Jane Doe",
    "secrets": {
        "codename": "assasin",
        "ssn": "123-45-6789"
    }
}

我想从所有文档中删除这个嵌套对象。文件应如下所示:

{
    "_id": "2xhjMSEocFNLrKhXj",
    "name": "Jane Doe"
}

我发现了很多关于删除数组元素而不是嵌套对象的例子。

标签: mongodb

解决方案


这对我有用:

db.getCollection('my-things').updateMany({},
    { $unset: { "secrets": { _id: "secrets" } }}
);

推荐阅读