sql >> データベース >  >> NoSQL >> Redis

原因:java.lang.IllegalArgumentException:CONTAINING(1):[IsContaining、Containing、Contains]はredisクエリの派生ではサポートされていません-Redis

    「Redisの仕組み」から始めましょう

    RedisはHashesforIDに取り組んでおり、レコードの位置をすばやく特定するのに役立ちます。@ Indexedもハッシュされて保存されるため、レコードをより迅速に特定できます

    したがって、ミドルネームのデフォルトでは、「テスト」文字列のハッシュは文字列「テストユーザー」のハッシュに含まれないため、「含む」クエリは機能しません。

    しかし、 ExampleMatcher 救助のためにここにいます。

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

    ロールオブジェクトでのRoleName検索のソリューション 比較的単純です:このクエリを使用してください

    userRepository.findByRoleRoleName( "ADMIN")(基本的にアンダースコアを削除します)

    そして良いニュースは、それが上記の ExampleMatcherと組み合わせることができるということです 。

    疑問がある場合は話し合いましょう。

    RoleName検索のヘルプフルリファレンス:Springデータを使用してRedisでネストされたオブジェクトをクエリする



    1. MeteorとFibers/bindEnvironment()はどうなっていますか?

    2. Aggregationパイプライン、MapReduce、またはrunCommandに保存されているJavaScript関数を使用する

    3. mongodbは明確なレコードを取得します

    4. redis pub/subで切断された接続から回復する