Java & MongoDB - 排序文档
要获取集合中的排序文档,您可以使用 collection.find().sort() 方法来选择集合中的排序文档。
// find sorted documents of a collection collection.find().sort(new BasicDBObject("First_Name",-1));
示例
以下是显示已排序文档的代码片段 −
import org.bson.Document; import com.mongodb.BasicDBObject; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; public class Tester { public static void main(String[] args) { // Creating a Mongo client MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017"); MongoDatabase database = mongoClient.getDatabase("myDb"); // Get the collection MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("***Discending Order***"); // Sort in Descending order FindIterable<Document> allDocuments = collection.find().sort(new BasicDBObject("First_Name",-1)); for (Document document : allDocuments) { System.out.println(document); } System.out.println("***Ascending Order***"); // Sort in Ascending order allDocuments = collection.find().sort(new BasicDBObject("First_Name",1)); for (Document document : allDocuments) { System.out.println(document); } } }
现在,让我们编译并运行上面的程序,如下所示。
$javac Tester.java $java Tester
输出
在执行时,上面的程序会有以下输出。
Document{{_id=60b70d426214461f10ac5c9a, First_Name=Radhika, Last_Name=Sharma, Date_Of_Birth=1995-09-26, e_mail=radhika_sharma.123@gmail.com, phone=9000012345}} Document{{_id=60b70d426214461f10ac5c9b, First_Name=Rachel, Last_Name=Christopher, Date_Of_Birth=1990-02-16, e_mail=Rachel_Christopher.123@gmail.com, phone=9000054321}} Document{{_id=60b70d426214461f10ac5c9c, First_Name=Fathima, Last_Name=Sheik, Date_Of_Birth=1990-02-16, e_mail=Fathima_Sheik.123@gmail.com, phone=9000054321}} ***Ascending Order*** Document{{_id=60b70d426214461f10ac5c9c, First_Name=Fathima, Last_Name=Sheik, Date_Of_Birth=1990-02-16, e_mail=Fathima_Sheik.123@gmail.com, phone=9000054321}} Document{{_id=60b70d426214461f10ac5c9b, First_Name=Rachel, Last_Name=Christopher, Date_Of_Birth=1990-02-16, e_mail=Rachel_Christopher.123@gmail.com, phone=9000054321}} Document{{_id=60b70d426214461f10ac5c9a, First_Name=Radhika, Last_Name=Sharma, Date_Of_Birth=1995-09-26, e_mail=radhika_sharma.123@gmail.com, phone=9000012345}}