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

Mongodb tổng kích thước của các trường mảng

Bao gồm $group giai đoạn chuyển tiếp của nhà điều hành sau $project bước như sau:

db.profil.aggregate([
   { "$match":{ "typ": "Organisation" } },
   { "$project": {
         "fooos": { "$size": "$foos" }
   } },
   { "$group": {
       "_id": null,
       "count": {
           "$sum": "$fooos"
       }
   } }
])

Thao tác này sẽ nhóm tất cả các tài liệu đầu vào từ $project trước đó giai đoạn và áp dụng biểu thức tích lũy $sum trên fooos trường trong nhóm để lấy tổng số (sử dụng ví dụ cuối cùng của bạn):

Điều này cũng có thể được thực hiện bằng cách chuyển $project đường ống dẫn như:

db.profil.aggregate([
   { "$match": { "typ": "Organisation" } },
   { "$group": {
       "_id": null,
        "count": {
            "$sum": { "$size": "$foos" }
        }
    } }
])

Đầu ra

/* 0 */
{
    "result" : [ 
        {
            "_id" : null,
            "count" : 24
        }
    ],
    "ok" : 1
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách sử dụng Spring Boot với MongoDB

  2. Lập bản đồ tài liệu với lược đồ được xác định một phần

  3. Làm thế nào để tham gia truy vấn trong mongodb?

  4. MongoDB - khác biệt với truy vấn không sử dụng chỉ mục

  5. Danh sách kiểm tra bảo mật cho việc triển khai sản xuất MongoDB