我有一个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')
}
虽然我的结果是正确回归,但它们并没有被排序。
提前致谢!
答案 0 :(得分:0)
经过一些研究后,我发现了一种使用sort{}
和sort{}.reverse()
对列表进行排序的简单方法。
实际答案如下:
results = results.sort{
it."${params.sort}"
}
if (params.order == 'desc') {
results = results.reverse()
}
感谢您的帮助。