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

Số lượng Mongodb khác biệt với nhiều trường nhóm

Một phần của cách đó nhưng bạn cần phải nhận các giá trị "riêng biệt" cho "holiday_type" trước, sau đó bạn $group một lần nữa:

db.transactions.aggregate([
    { "$group": { 
        "_id": { 
            "employee" : "$employee",
            "Month": { "$month" : "$date" }, 
            "Year": { "$year" : "$date" },
            "holiday_type" : "$holiday_type"
        },
     }},
     { "$group": {
         "_id": {
            "employee" : "$_id.employee",
            "Month": "$_id.Month",
            "Year": "$_id.Year"
         },
         "count": { "$sum": 1 }
     }}
 ], { "allowDiskUse": true }
 );

Đó là quy trình chung vì "khác biệt" trong SQL là một loại hoạt động phân nhóm. Vì vậy, nó là một $group kép để có được kết quả chính xác của bạn.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Truy vấn trên Trường băm Mongoid

  2. Làm thế nào để có được tất cả số lượng mô hình mongoose?

  3. Nhập tài liệu vào MongoDB từ một mảng tài liệu JSON

  4. Làm thế nào để sắp xếp trong mongoose?

  5. Có cách nào để khôi phục các tài liệu đã xóa gần đây trong MongoDB không?