与jongo整理

时间:2017-02-02 09:58:18

标签: mongodb collation 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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用可以在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);