Сопоставление с джонго

Я использую MongoDB через Jongo (клиент Java), и мне нужно сортировать результаты без учета регистра для конкретный запрос.

В документации MongoDB указано, что индекс должен создаваться с определенным сопоставлением level и что запросы должны использовать одну и ту же конфигурацию:

db.fruit.find( {type: "apple"} )
        .collation( {locale: 'en', strength: 2} )

Создать индекс было легко; но я не могу найти куда передать конфигурацию сопоставления с помощью API запросов Jongo.

Find query = myCollection.find(match);  // No .collation() method here

Есть идеи ?


person Olivier Croisier    schedule 02.02.2017    source источник


Ответы (1)


Используйте модификатор запроса, который можно установить в DBCursor, реализовав QueryModifier, и передайте его в методе with:

friends.find().with(new QueryModifier() {
     public void modify(DBCursor cursor) {
         cursor.setCollation(
            Collation.builder().collationStrength(CollationStrength.SECONDARY).
            locale("en").
            build())
     }
}).as(Friend.class);
person Jeroen Daanen    schedule 03.04.2018