Мы разрабатываем приложение для реактивного стека Spring 5.Для сохранения мы используем MongoDb с ReactiveMongoRepository
(ReactiveCrudRepository
) из Spring Data.
В настоящее время для извлечения данных мы используем запрос типа
@Query("{ 'ownerId': ?0, filePath: {$regex: ?1}, tags: { $all : ?2}}")
Flux<Media> findAllByOwnerIdAndFilePathRegexAndTagsContainingAll(String ownerId, String pathRegex, List<Tag> tags);
Теперь мы хотим получить данные по нечувствительным тегам.Для этого я создал индекс в БД с сопоставлением, таким как { locale: 'en', strength: 2 }
, как описано здесь .
Теперь я хочу получить мои данные из БД с использованием индекса.Путь MonogoDB будет db.media.find( { filePath: "/example/" } ).collation( { locale: 'en', strength: 2 } )
.
Кто-нибудь знает умный способ использовать сопоставления из ReactiveMongoRepository?