使用mongoTemplate.find()
,我指定一个可以调用的查询.limit()
或.sort()
:
.limit()
返回一个Query
对象
.sort()
返回一个Sort
对象
鉴于此,我可以说 Query().limit(int).sort(),但这不会执行所需的操作,它只是对有限的结果集进行排序。
我也不能调用 Query().sort().limit(int) 因为 .sort() 返回一个 Sort()
那么使用 Spring Data,我如何执行以下如 mongoDB shell 中所示的操作?也许有一种方法可以传递我还没有找到的原始查询?
如果需要,我可以扩展 Paging 界面......只是似乎没有任何帮助。谢谢!
> j = { order: 1 }
{ "order" : 1 }
> k = { order: 2 }
{ "order" : 2 }
> l = { order: 3 }
{ "order" : 3 }
> db.test.save(j)
> db.test.save(k)
> db.test.save(l)
> db.test.find()
{ "_id" : ObjectId("4f74d35b6f54e1f1c5850f19"), "order" : 1 }
{ "_id" : ObjectId("4f74d3606f54e1f1c5850f1a"), "order" : 2 }
{ "_id" : ObjectId("4f74d3666f54e1f1c5850f1b"), "order" : 3 }
> db.test.find().sort({ order : -1 }).limit(1)
{ "_id" : ObjectId("4f74d3666f54e1f1c5850f1b"), "order" : 3 }