假设我具有以下结构的文档集合:
{
"_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);
答案 0 :(得分:1)
由于您已嵌套对象,因此您可以使用.include("details.userType")