与 jongo 的整理

Collation with jongo

我通过 Jongo(一个 Java 客户端)使用 MongoDB,我需要以不区分大小写的方式对特定查询的结果进行排序。

MongoDB's documentation 声明应该使用特定排序规则级别创建索引,并且查询应该使用相同的配置:

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

创建索引很容易;但我找不到在哪里传递归类配置 与 Jongo 的查询 API。

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

有什么想法吗?

使用可以通过实现 QueryModifier 在 DBCursor 上设置的查询修饰符,并将其传递到 'with' 方法中:

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