orderBy字段不使用hibernate和mongoDB

时间:2013-05-24 15:40:23

标签: hibernate mongodb gorm

我有一个mongoDB设置,我通过GORM访问,我想搜索一个参数,然后可能订购另一个参数。这适用于我正在使用的另一个连接到SQL表的搜索功能,但是mongoDB似乎忽略了order子句。

def itemList = Item.createCriteria()
def results = itemList.list (max: params.max, offset: params.offset) {
    if(params.searchField.equals("status")){
        eq("status", defaultStatus)
    } else if (!params.searchField.equals("id")) {
        ilike(params.searchField, params.searchString)
    }
    order('species', 'desc')
}

虽然我的结果是正确回归,但它们并没有被排序。

提前致谢!

1 个答案:

答案 0 :(得分:0)

经过一些研究后,我发现了一种使用sort{}sort{}.reverse()对列表进行排序的简单方法。

实际答案如下:

results = results.sort{
    it."${params.sort}"
}

if (params.order == 'desc') {
    results = results.reverse()
}

感谢您的帮助。