Tổng hợp mongodb tổng hợp trong java

Để 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 }

Tổng hợp mongodb tổng hợp trong java


Tổng hợp mongodb tổng hợp trong java

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ổng

Nguyê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óm

Cá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ố 8

Từ 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<Document> 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

Làm cách nào để sử dụng tập hợp trong MongoDB trong Java?

Để thực hiện tổng hợp, chuyển danh sách các giai đoạn tổng hợp cho MongoCollection. phương thức tổng hợp() . Trình điều khiển Java cung cấp lớp trình trợ giúp Tổng hợp có chứa các trình tạo cho các giai đoạn tổng hợp.

$sum 1 trong MongoDB là gì?

1 câu trả lời. Trong MongoDB, $sum sẽ cộng giá trị của biểu thức cho mỗi hàng và trong trường hợp của bạn, bạn có 3 hàng nên nó sẽ là 1 .

Làm cách nào để sử dụng tổng hợp trong MongoDB?

Bắt đầu từ MongoDB 4. 2, bạn có thể cập nhật tài liệu bằng quy trình tổng hợp nếu bạn sử dụng các giai đoạn được hiển thị trong Cập nhật bằng quy trình tổng hợp. .
Mỗi khâu thực hiện một thao tác trên chứng từ đầu vào. .
Các tài liệu được xuất ra từ một giai đoạn được chuyển sang giai đoạn tiếp theo

Làm cách nào để tìm tổng hợp trong MongoDB?

Nếu bạn muốn tổng hợp bằng cách sử dụng id của người dùng, (là ID đối tượng cầy mangut), bạn cần truyền id truy vấn của mình (thuộc loại chuỗi) sang ID đối tượng cầy mangut. Như vậy. const userId = cầy mangut. các loại. .
làm gì ['. all'] viết tắt của ?.
Tôi vừa sao chép mã đó từ câu hỏi. '. .
Làm [. .
Không, tôi không nghĩ vậy. .