2015-04-22 3 views
5

Ich habe folgende JSON Struktur:Extra-Anführungszeichen hinzugefügt werden, um @query

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

Ich möchte von der Art dynamisch für die E-Mail-Abfrage basiert z.B. Büro oder privat. Wenn ich den folgenden Befehl verwenden:

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

Die

'communication.?0.email' 

wird

umgewandelt
'communication."office".email' 

und Mongo fanden keinen Eintrag. Wie kann ich die Angebote vor und nach dem Büro vermeiden?

+0

Sie eine Lösung für diese gefunden? Ich bin auch stecken geblieben. – gtiwari333

+0

Leider nicht, es wurde nicht mehr benötigt und ich hörte auf zu ermitteln. – Sebastian

Antwort

1

Einfache Antwort ist Frühling Mongo unterstützt nicht, was Sie suchen. Warum Sie nicht alles als Parameter eher als unten übergeben.

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

wo E-Mail-Wert sollte

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

Dies erfordert, dass jeder, der das 'Object findByEmail (String type, String email) aufruft, die Struktur im Detail kennt und dies wollte ich vermeiden. – Sebastian

Verwandte Themen