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

Sắp xếp mảng trong tài liệu với MongoDB

Tôi thấy vấn đề. Mọi người đang tìm kiếm và tìm thấy câu trả lời của stackoverflow này:

Sai rồi, vì nó không bao giờ "tái cấu trúc" mảng.

Bạn thực hiện điều đó với $ group $ push và vì bạn đang nhóm, bạn sẽ muốn có $ first cho các trường khác trong tài liệu bạn muốn:

db.TrafficStatistic.aggregate([
   { "$unwind": "$statistic" },
   { "$sort": { "_id": 1, "statistic.data.desktop.users": 1 } },
   { "$group": {
       "_id": "$_id",
       "monthStart" : { "$first": "$monthStart" },
       "monthEnd" : { "$first": "$monthEnd" },
       "date" : { "$first": "$date" },
       "statistic": { "$push": "$statistic" }
   }}
])

Cũng lưu ý $ sort được áp dụng cho cả "_id" và trường khác để sắp xếp. Điều này để phân loại được áp dụng cho mỗi tài liệu và rất quan trọng khi các chi tiết tài liệu được đặt lại với nhau trong $ group .

Bây giờ tài liệu trông giống như nó đã làm, nhưng lần này các thành viên mảng được sắp xếp.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Không thể truy cập mongodb thông qua trình duyệt - Có vẻ như bạn đang cố truy cập MongoDB qua HTTP trên cổng trình điều khiển gốc

  2. Cách thực hiện các thao tác truy vấn cơ bản trong MongoDB

  3. Không thể khởi động Mongo DB

  4. MongoDB không thể cập nhật tài liệu vì _id là chuỗi, không phải ObjectId

  5. MongoDB Java Inserting Throws org.bson.codecs.configuration.CodecConfigurationException:Không thể tìm thấy codec cho lớp io.github.ilkgunel.mongodb.Pojo