I have a collection called at MongoDB called resource. It has the following documents:
{ "_id" : "Abb.e", "_class" : "Resource", "resourceEmail" : "test1@test.com" }
{ "_id" : "Dasd.tt", "_class" : "Resource","resourceEmail" : "test2@test.com" }
{ "_id" : "Bbb.rr", "_class" : "Resource", "resourceEmail" : "test3@test.com" }
At Java code,I list them as follows:
MongoOperations mongoOperations = mongoConfiguration.getMongoTemplate();
List<Resource> resourceList = mongoOperations.findAll(Resource.class);
return resourceList;
How could I fetch these documents sorted by ID !
As you're using Spring Data, you could use a Query object to query all documents in the colletion and sort the results.
Of course that you could iterate the list of results and sort it manually, or even use Collection.sort method, but I think if you have an index in the property that you're using to sort, it's faster to mongodb sort the results.
Should be something like this:
You need to append
.sort({'_id' : 1})
for ascending order or.sort({'_id' : -1})
for descending order.For Java:
Solution from echo: