Genaue groß-und Kleinschreibung match in der spring-data, mongo

Bin ich mit spring data mit mongo und ein repository. Eg:

@Query("{ 'userName' : ?0 }")
public User findByUsername(String username);

Ich das machen will, der groß-und Kleinschreibung. Benutzt habe ich die folgenden Abfragen:

"{'userName' : { $regex : ?0, $options: 'i' } }"

Dies funktioniert, aber es ist nicht nur vergleichbar mit "testUser", aber auch estUser.

Ich habe auch versucht

"{'userName' : { $regex : ^?0$, $options: 'i' } }"

Aber das kann nicht die Abfrage analysieren, da er versucht, zum einfügen von Zitaten in der regex.

com.mongodb.util.JSONParseException: 
({ $regex : ^"testUser"$, $options: 'i' }
            ^

Bekomme ich die gleiche Art von Problemen, wenn ich versuche, mit ein /.../ich regex.

Gibt es eine Lösung für dieses, ohne mongoTemplate, oder bauen die regex selbst?

  • Möchten Sie vielleicht zu berücksichtigen, dass die groß / Kleinschreibung bei Suche in "Mongo" nicht effizient geschieht. Je Dokument ausgewertet werden müssen. Es ist üblich, die Daten zu speichern im ursprünglichen format und was auch immer Sie betrachten Sie mehr durchsucht werden, wie in Kleinbuchstaben umgewandelt, mit all den Fragen, die auftauchen, mit Unicode-Zeichen.
Schreibe einen Kommentar