1

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

MongoDB 的文档指出应该使用特定的排序规则创建索引,并且查询应该使用相同的配置:

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

创建索引很容易;但我找不到使用 Jongo 的查询 API传递排序规则配置的位置。

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

任何想法 ?

4

1 回答 1

0

使用可以通过实现 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);
于 2018-04-03T09:46:23.547 回答