我通过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
有什么想法吗?
答案 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);