使用Salat for MongoDB按多个属性排序



我试图用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。这允许您在一行中完成所有操作,而不是创建列表串联答案中所需的中间值。

相关内容

  • 没有找到相关文章

最新更新