MongoDB:如何在Java中投影所有文档的单个内部字段?

时间:2020-08-27 13:36:41

标签: java mongodb

假设我具有以下结构的文档集合:

{
    "_id" : 1
    "name" : "user1",
    "age" : 25,
    "details": {
        "userType": 1
        ... many other fields here
    }
}

我只想获取所有具有“名称”和“ details.userType”字段的文档,所以我得到的结果是这样的。

[
    {
        "name": "user1",
        "details": {
            "userType": 1
        }
    },
    {
        "name": "user2",
        "details": {
            "userType": 1
        }
    }
    ... etc
]

如何使用Java实现此目标?我不确定如何使用Java投影内部字段。

到目前为止,我已经可以使用此代码来投影名称字段

        Query query = new Query(Criteria.where("active").is(true));
        query.fields().include("_id").include("name");
        return template.find(query, BaseUser.class, collectionName);

1 个答案:

答案 0 :(得分:1)

由于您已嵌套对象,因此您可以使用.include("details.userType")