sql >> Database teknologi >  >> NoSQL >> Redis

Forårsaget af:java.lang.IllegalArgumentException:CONTAINING (1):[IsContaining, Containing, Contains]understøttes ikke for redis-forespørgselsafledning - Redis

Ok lad os starte fra "Sådan fungerer Redis"

Redis arbejde på hashes til ID, som hjælper med hurtigere placering af posten.@Indexed hashes også og gemmes for hurtigere at finde posten

Så som standard for MiddleName vil "contain"-forespørgslen ikke fungere, da Hash for "Test"-strengen ikke vil være indeholdt i Hash for String "TestUser".

Men ExampleMatcher er her til undsætning.

Kilde:https://docs.spring.io/spring-data/redis/docs/2.1.2.RELEASE/reference/html/#query-by-example

Løsning til rollenavnsøgning på rolleobjekt er relativt enkel:Brug denne forespørgsel

userRepository.findByRoleRoleName("ADMIN")(Fjern dybest set understregningen)

Og den gode nyhed er, at den kan kombineres med ovenstående ExampleMatcher .

Lad os diskutere, hvis du er i tvivl.

Nyttig reference til rollenavnsøgning:Forespørg på indlejrede objekter i Redis ved hjælp af Spring Data



  1. Hvordan kan jeg bruge Python til at transformere MongoDB's bsondump til JSON?

  2. Er det muligt at få felterne i projektionsrækkefølgen i Aggregation Frameworks mongo

  3. Spring Data RedisTemplate:Serialisering af værdien og HashValue

  4. Hvordan fungerer sortering med et indeks i MongoDB?