Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để sắp xếp các tài liệu của bộ sưu tập MongoDB bằng java?

Trong khi truy xuất bản ghi từ bộ sưu tập MongoDB, bạn có thể sắp xếp các bản ghi trong kết quả bằng cách sử dụng sort () phương pháp.

Cú pháp

db.COLLECTION_NAME.find().sort({KEY:1})

Thư viện Java MongoDB cung cấp một phương thức có cùng tên, để giới hạn số lượng bản ghi gọi phương thức này (trên kết quả của phương thức find ()) bỏ qua kiểu sắp xếp (tăng dần hoặc giảm dần) và tên trường dựa vào đó bạn muốn sắp xếp các bản ghi dưới dạng -

sort(Sorts.ascending("age");

Ví dụ

import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Sorts;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.bson.Document;
import com.mongodb.MongoClient;
public class SortingRecords {
   public static void main( String args[] ) {
      //Creating a MongoDB client
      MongoClient mongo = new MongoClient( "localhost" , 27017 );
      //Connecting to the database
      MongoDatabase database = mongo.getDatabase("myDatabase");
      //Creating a collection object
      MongoCollection<Document> collection = database.getCollection("students");
      Document document1 = new Document("name", "Ram").append("age", 26).append("city", "Hyderabad");
      Document document2 = new Document("name", "Robert").append("age", 27).append("city", "Vishakhapatnam");
      Document document3 = new Document("name", "Rhim").append("age", 30).append("city", "Delhi");
      Document document4 = new Document("name", "Radha").append("age", 28).append("city", "Mumbai");
      Document document5 = new Document("name", "Ramani").append("age", 45).append("city", "Pune");
      //Inserting the created documents
      List<Document> list = new ArrayList<Document>();
      list.add(document1);
      list.add(document2);
      list.add(document3);
      list.add(document4);
      list.add(document5);
      collection.insertMany(list);
      System.out.println("Documents Inserted");
      //Retrieving a collection object
      collection = database.getCollection("students");
      //Retrieving the documents with a limit
      FindIterable<Document> iterDoc =
      collection.find().sort(Sorts.ascending("age"));
      Iterator it = iterDoc.iterator();
      while (it.hasNext()) {
         System.out.println(it.next());
      }
   }
}

Đầu ra

Documents Inserted
Document{{_id=5e88843d5c851b345fce2a33, name=Ram, age=26, city=Hyderabad}}
Document{{_id=5e88843d5c851b345fce2a34, name=Robert, age=27, city=Vishakhapatnam}}
Document{{_id=5e88843d5c851b345fce2a36, name=Radha, age=28, city=Mumbai}}
Document{{_id=5e88843d5c851b345fce2a35, name=Rhim, age=30, city=Delhi}}
Document{{_id=5e88843d5c851b345fce2a37, name=Ramani, age=45, city=Pune}}