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

Khung tổng hợp Mongodb | Nhóm trên nhiều giá trị?

OK, vì vậy giải pháp là chỉ định một khóa tổng hợp cho giá trị _id. Điều này được ghi lại ở đây là:

Bạn có thể chỉ định một trường đơn lẻ từ các tài liệu trong đường dẫn, một giá trị đã tính toán trước đó hoặc một khóa tổng hợp được tạo thành từ một số trường đến.

Nhưng nó không thực sự xác định định dạng cho một khóa tổng hợp. Đọc tài liệu trước đó ở đây, tôi thấy rằng phương thức collection.group trước đó có thể nhận nhiều trường và cấu trúc giống nhau được sử dụng trong khuôn khổ mới.

Vì vậy, để nhóm thành nhiều trường, bạn có thể sử dụng _id : { success:'$success', responseCode:'$responseCode', label:'$label'}

Như trong:

resultsCollection.aggregate(
{ $match : { testid : testid} },
{ $skip : alreadyRead },
{ $project : {
        timeStamp : 1 ,
        label : 1,
        responseCode : 1 ,
        value : 1,
        success : 1
    }},
{ $group : {
        _id :  { success:'$success', responseCode:'$responseCode', label:'$label'},
        max_timeStamp : { $timeStamp : 1 },
        count_responseCode : { $sum : 1 },
        avg_value : { $sum : "$value" },
        count_success : { $sum : 1 }
    }}
);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nhiều số lượng với một truy vấn duy nhất trong mongodb

  2. Làm cho các truy vấn mongoose.js chạy đồng bộ

  3. Làm cách nào để cập nhật / nâng cấp tài liệu trong Mongoose?

  4. Tải lên và truy xuất tệp bằng MongoDB và Spring Boot

  5. Công dụng của Jade hoặc Handlebars khi viết ứng dụng AngularJs