2015-04-22 14 views
5

Mam następującą strukturę JSON:Dodatkowe cytaty dodawanych do @query

{ 
    "communication": { 
     "office": { 
     "email": "[email protected]" 
     }, 
     "private": { 
     "email": "[email protected]" 
     }, 
    } 
} 

Chcę zapytać dynamicznie na e-mail w oparciu o typ np biuro lub prywatny. Kiedy należy użyć następującego polecenia:

@Query(value = "{ 'communication.?0.email' : ?1 }") 
Object findByEmail(String type, String email); 

'communication.?0.email' 

przekształca się

'communication."office".email' 

i Mongo nie znaleźliśmy wpis. Jak mogę uniknąć cytatów przed i po pracy?

+0

Znaleźliście jakieś rozwiązanie dla tego? Ja też utknąłem. – gtiwari333

+0

Niestety nie, nie było to już konieczne i przestałem badać. – Sebastian

Odpowiedz

1

Prostą odpowiedzią jest wiosna mongo nie obsługuje tego, czego szukasz. Dlaczego nie przekazujesz wszystkiego jako parametru, jak poniżej.

@Query (value = "{'communication.?0.email':? 1}") Obiekt findByEmail (typ łańcucha, ciąg wiadomości e-mail);

gdzie wartość e-mail powinien

type= "communication." + type + ".email" 
+0

Wymaga to, aby każdy, kto wywołuje 'Object findByEmail (typ String, String email)' zna szczegółowo strukturę i chciał tego uniknąć. – Sebastian

Powiązane problemy