MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Trình điều khiển Java MongoDB:khác biệt với sắp xếp

MongoDB không hỗ trợ sắp xếp phía máy chủ với distinct yêu cầu. Điều đang xảy ra trong bảng điều khiển là distinct('myKey') lệnh gọi trả về một mảng và sau đó bạn đang gọi JavaScript sort trên mảng đó trả về một phiên bản được sắp xếp của mảng. Các tham số bạn chuyển vào sort bị bỏ qua.

Để làm điều tương tự trong Java, bạn sẽ làm:

List myKeys = myCollection.distinct("myKey");
java.util.Collections.sort(myKeys);

Để nhận các khóa duy nhất bằng cách sử dụng sắp xếp phía máy chủ, bạn có thể sử dụng aggregate . Đây là cách bạn làm điều đó trong shell:

db.mycollection.aggregate([
    { $group: {_id: '$myKey' }},
    { $sort: {_id: 1}}
])

Tuy nhiên, khi tôi thử nghiệm điều này, phương pháp sắp xếp phía máy khách đơn giản hoạt động tốt hơn nhiều.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Hiển thị tất cả nội dung từ tất cả các bộ sưu tập

  2. Cài đặt Mongodb không thành công với homebrew và Xcode 8.1.1

  3. Liệt kê và phân phát các tệp từ GridFS với Flask

  4. Làm cách nào để đếm số lần xuất hiện của mỗi giá trị trong mảng?

  5. Chỉ điền các trường cụ thể trong mongoose