我试图用Salat对MongoDB执行查询。查询应该根据两个属性对结果集进行排序。我没有找到任何例子。使用单个MongoDB对象进行排序可以正常工作。
val results = dao
.find(MongoDBObject.empty)
.sort(orderBy = MongoDBObject("attribute1" -> 1))
.skip(0)
.limit(10).toList
如何组合两个MongoDB对象,以便由orderBy
进行评估?例如,如果我的第一优先级排序是按属性1升序排序,而我的第二优先级排序是按照属性2升序排序。
谢谢你的帮助!
您可以按照以下方式构建排序对象:
val sort = MongoDBObject("attribute1" -> 1) ++ ("attribute2" -> -1)
并进行查询:
val results = dao
.find(MongoDBObject.empty)
.sort(orderBy = sort)
.skip(0)
.limit(10).toList
您可以进行以下更改:
val results = dao
.find(MongoDBObject.empty)
.sort(orderBy = MongoDBObject("attribute1" -> 1, "attribute2" -> -1))
.skip(0)
.limit(10).toList
现在,您将按升序对attribute1进行优先级排序,在平局中,它将按降序转到attribute2。这允许您在一行中完成所有操作,而不是创建列表串联答案中所需的中间值。