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

Làm thế nào để sắp xếp các tài liệu con trong trường mảng?

MongoDB không cung cấp cách thực hiện điều này hiệu quả nhưng có một cách giải quyết là cập nhật tài liệu của bạn và sử dụng $sort cập nhật toán tử để sắp xếp mảng của bạn.

db.collection.update_many({}, {"$push": {"topics": {"$each": [], "$sort": {"weight": -1}}}})

Bạn vẫn có thể sử dụng .aggregate() phương pháp như thế này:

db.collection.aggregate([
    {"$unwind": "$topics"}, 
    {"$sort": {"_id": 1, "topics.weight": -1}}, 
    {"$group": {"_id": "$_id", "topics": {"$push": "$topics"}}}
])

Nhưng điều này kém hiệu quả hơn nếu tất cả những gì bạn muốn là sắp xếp mảng của mình và bạn chắc chắn không nên làm điều đó.

Bạn luôn có thể thực hiện phía máy khách này bằng cách sử dụng .sort hoặc sorted chức năng.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để chuyển đổi một thuộc tính trong MongoDB từ văn bản sang loại ngày tháng?

  2. Xuất Bộ sưu tập MongoDB sang Tệp JSON

  3. mongodb:truy vấn khoảng thời gian giữa hai trường ngày

  4. Spring Data MongoDB - Chỉ mục, Chú thích và Bộ chuyển đổi

  5. Hiệu suất MongoDB:Chạy MongoDB tổng hợp trên trang thứ hai