Để tổng hợp tổng trong MongoDB để lấy tổng số, bạn có thể sử dụng toán tử $sum. Để hiểu khái niệm trên, chúng ta hãy tạo một bộ sưu tập với tài liệu -
> db.aggregateSumDemo.insertOne[{"CustomerName":"Larry","Amount":140}]; { "acknowledged" : true, "insertedId" : ObjectId["5c8baa0680f10143d8431e18"] } > db.aggregateSumDemo.insertOne[{"CustomerName":"Mike","Amount":160}]; { "acknowledged" : true, "insertedId" : ObjectId["5c8baa1380f10143d8431e19"] } > db.aggregateSumDemo.insertOne[{"CustomerName":"Sam","Amount":300}]; { "acknowledged" : true, "insertedId" : ObjectId["5c8baa1c80f10143d8431e1a"] } > db.aggregateSumDemo.insertOne[{"CustomerName":"David","Amount":500}]; { "acknowledged" : true, "insertedId" : ObjectId["5c8baa2580f10143d8431e1b"] }
Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find[]. Truy vấn như sau -
> db.aggregateSumDemo.find[].pretty[];
Sau đây là đầu ra -
{ "_id" : ObjectId["5c8baa0680f10143d8431e18"], "CustomerName" : "Larry", "Amount" : 140 } { "_id" : ObjectId["5c8baa1380f10143d8431e19"], "CustomerName" : "Mike", "Amount" : 160 } { "_id" : ObjectId["5c8baa1c80f10143d8431e1a"], "CustomerName" : "Sam", "Amount" : 300 } { "_id" : ObjectId["5c8baa2580f10143d8431e1b"], "CustomerName" : "David", "Amount" : 500 }
Đây là truy vấn để có được tổng số
Trường hợp 1 - Truy vấn như sau -
> db.aggregateSumDemo.aggregate[[ { .. $group: { .. _id: null, .. "TotalCount": { .. $sum:1 .. } .. } .. } ] ];
Sau đây là đầu ra -
{ "_id" : null, "TotalCount" : 4 }
Đây là truy vấn để tổng hợp tổng trong MongoDB để lấy tổng
Trường hợp 2 - Truy vấn như sau -
> db.aggregateSumDemo.aggregate[[ { .. $group: { .. _id: null, .. "TotalAmount": { .. $sum: "$Amount" .. } .. } .. } ] ];
Sau đây là đầu ra -
{ "_id" : null, "TotalAmount" : 1100 }
Giới thiệu
Trong trang này, bạn có thể tìm thấy cách sử dụng ví dụ cho com. mongodb. khách hàng. mô hình Bộ tích lũy tổngNguyên mẫu
public static BsonField sum[final String fieldName, final TExpression expression]
Liên kết nguồn
Tài liệu
Lấy tên trường cho thao tác $group biểu thị tổng các giá trị của biểu thức đã cho khi áp dụng cho tất cả thành viên của nhómCách sử dụng
Từ tập tin nguồn. com. epam. buồn tẻ. phụ trợ. dao. màu xanh da trời. Thanh toán AzureDAO. java
Giấy phép. Giấy phép Apache
________số 8Từ tập tin nguồn. com. epam. buồn tẻ. hóa đơn. màu xanh da trời. Dịch vụ AzureBillingDetails. java
Giấy phép. Giấy phép Apache
public void updateBillingDetails[String user] { log.debug["Updating billing details for user {}", user]; try {//from ww w .j a va 2s . c om AggregateIterable aggregateIterable = mongoDbBillingClient.getDatabase[] .getCollection[MongoKeyWords.BILLING_DETAILS] .aggregate[Lists.newArrayList[ Aggregates.match[Filters.and[Filters.eq[MongoKeyWords.DLAB_USER, user], Filters.in[MongoKeyWords.RESOURCE_TYPE, DlabResourceType.EXPLORATORY.toString[], DlabResourceType.COMPUTATIONAL.toString[], DlabResourceType.VOLUME.toString[]]]], Aggregates.group[ getGroupingFields[MongoKeyWords.DLAB_ID, MongoKeyWords.DLAB_USER, MongoKeyWords.EXPLORATORY_ID, MongoKeyWords.RESOURCE_TYPE, MongoKeyWords.RESOURCE_NAME, MongoKeyWords.COMPUTATIONAL_ID, MongoKeyWords.METER_CATEGORY], Accumulators.sum[MongoKeyWords.COST, MongoKeyWords.prepend$[MongoKeyWords.COST]], Accumulators.min[MongoKeyWords.USAGE_FROM, MongoKeyWords.prepend$[MongoKeyWords.USAGE_DAY]], Accumulators.max[MongoKeyWords.USAGE_TO, MongoKeyWords.prepend$[MongoKeyWords.USAGE_DAY]]], Aggregates.sort[Sorts.ascending[MongoKeyWords.prependId[MongoKeyWords.RESOURCE_NAME], MongoKeyWords.prependId[MongoKeyWords.METER_CATEGORY]]]]]; updateBillingDetails[user, mapToDetails[aggregateIterable]]; } catch [RuntimeException e] { log.error["Updating billing details for user {} is failed", user, e]; } }
Từ tập tin nguồn. mô-đun. script. động kinh. tìm kiếm mẫu. java
Giấy phép. Giấy phép mã nguồn mở
> db.aggregateSumDemo.find[].pretty[];0
Từ tập tin nguồn. mô-đun. kiểm tra. Nền tảng tìm kiếm. java
Giấy phép. Giấy phép mã nguồn mở
> db.aggregateSumDemo.find[].pretty[];1
Từ tập tin nguồn. mongodb_teste. Jmongo. java
> db.aggregateSumDemo.find[].pretty[];2
Từ tập tin nguồn. mongodb_teste. MongoDB_teste. java
> db.aggregateSumDemo.find[].pretty[];3
Từ tập tin nguồn. tổ chức. mởcb. cơ sở di động. lib. ngụ ý. MongoDBAdaptor. java
Giấy phép. Giấy phép Apache
> db.aggregateSumDemo.find[].pretty[];4
Từ tập tin nguồn. tổ chức. mởcb. cơ sở di động. lib. ngụ ý. MongoDBAdaptor. java
Giấy phép. Giấy phép Apache
> db.aggregateSumDemo.find[].pretty[];5
Từ tập tin nguồn. tổ chức. mởcb. cơ sở di động. mongodb. ngụ ý. MongoDBAdaptor. java
Giấy phép. Giấy phép Apache
> db.aggregateSumDemo.find[].pretty[];6
Từ tập tin nguồn. tổ chức. mởcb. cơ sở di động. mongodb. ngụ ý. MongoDBAdaptor. java
Giấy phép. Giấy phép Apache
private Bson groupCriteria[] { return Aggregates.group[ getGroupingFields[MongoKeyWords.DLAB_USER, MongoKeyWords.DLAB_ID, MongoKeyWords.RESOURCE_TYPE, MongoKeyWords.METER_CATEGORY, MongoKeyWords.CURRENCY_CODE], Accumulators.sum[MongoKeyWords.COST, MongoKeyWords.prepend$[MongoKeyWords.COST]], Accumulators.min[MongoKeyWords.USAGE_FROM, MongoKeyWords.prepend$[MongoKeyWords.USAGE_DAY]], Accumulators.max[MongoKeyWords.USAGE_TO, MongoKeyWords.prepend$[MongoKeyWords.USAGE_DAY]]]; }0