我需要找到调用dados
的特定字段,这完全有效,但会将所有字段返回给我。
我如何才能返回dados
字段?
@Query("{\"dados\": {$ne: null}}, {\"dados\": 1}")
List<Contato> findOnlyDados();
实体(没有getter和setter)
@Document
public class Contato {
@Id
private String id;
String nome;
List<Info> dados;
@DBRef
Agencia agencia;
static class Info {
String campo;
String valor;
}
}
当我发出GET请求时
{
"_links": {
"self": {
"href": "http://localhost:8181/api/contatos/search/findOnlyDados"
}
},
"_embedded": {
"contatos": [
{
"nome": "Contato one",
"dados": [
{
"campo": "teste um",
"valor": "fmdsf"
},
{
"campo": "dois",
"valor": "bdfbfd"
}
],
"_links": {
"self": {
"href": "http://localhost:8181/api/contatos/55b66de7ccf21a7a1cfcd403"
},
"agencia": {
"href": "http://localhost:8181/api/contatos/55b66de7ccf21a7a1cfcd403/agencia"
}
}
},
{
"nome": "Contato bgf",
"dados": [
{
"campo": "teste jghj",
"valor": "ytrf"
},
{
"campo": "jhjhn",
"valor": "bdfbfd"
}
],
"_links": {
"self": {
"href": "http://localhost:8181/api/contatos/55b66dfeccf21a7a1cfcd404"
},
"agencia": {
"href": "http://localhost:8181/api/contatos/55b66dfeccf21a7a1cfcd404/agencia"
}
}
}
]
}
}
答案 0 :(得分:1)
要限制查询返回的字段,请使用fields
注释的@Query
属性。