如何使用 spring-boot 从 mongoDB 中排除嵌套字段?

How to exclude nested fields from mongoDB using spring-boot?

我有 mongoDB 文档,如下所示:

[
    {
        "id": 1,
        "name": "abc",
        "class": "top-level",
        "subClass": [
            {
                "id": 1,
                "name": "def",
                "class": "second-level"
            }
        ]
    },
    {
        "id": 2,
        "name": "xyz",
        "class": "top-level",
        "subClass": [
            {
                "id": 1,
                "name": "def",
                "class": "second-level"
            }
        ]
    }
]

我想从顶级和二级 class 中排除字段 id。我已经尝试了一些查询,但由于我是新手,所以我无法弄清楚。请帮忙。谢谢

您只想使用 projection 选项进行查询并排除 none 相关字段,如下所示:

db.collection.find({},
{
  id: 0,
  "subClass.id": 0
})

Mongo Playground

@Query(value = "{}", fields = "{'id':0, 'subClass.id':0}")

这解决了我的问题。感谢帮助