MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

合計数を取得するためにMongoDBで合計を集計するにはどうすればよいですか?


MongoDBで合計を集計して合計数を取得するには、$sum演算子を使用できます。上記の概念を理解するために、ドキュメントを使用してコレクションを作成しましょう-

> 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")
}

find()メソッドを使用して、コレクションのすべてのドキュメントを表示します。クエリは次のとおりです-

> db.aggregateSumDemo.find().pretty();

以下は出力です-

{
   "_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
}

合計数を取得するためのクエリは次のとおりです。

ケース1 −クエリは次のとおりです-

> db.aggregateSumDemo.aggregate([ {
   ... $group: {
      ... _id: null,
      ... "TotalCount": {
         ... $sum:1
      ... }
   ... }
... } ] );

以下は出力です-

{ "_id" : null, "TotalCount" : 4 }

これは、MongoDBで合計を集計して合計を取得するためのクエリです。

ケース2 −クエリは次のとおりです-

> db.aggregateSumDemo.aggregate([ {
   ... $group: {
      ... _id: null,
      ... "TotalAmount": {
         ... $sum: "$Amount"
      ... }
   ... }
... } ] );

以下は出力です-

{ "_id" : null, "TotalAmount" : 1100 }

  1. カウントを取得するためのMongoDB$unwind

    MongoDBの$unwindは、入力ドキュメントから配列フィールドを分解して、各要素のドキュメントを出力します。カウントを取得するには、aggregate()とともに$unwindを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo478.insertOne( ... { ... ...    "Details" : { ...       _id:1, ...       "Information" : [ ...   &

  2. 対応する重複する名前のフィールド値の数を取得するためのMongoDB集計?

    例を見て、ドキュメントを使用してコレクションを作成しましょう- > db.demo558.insertOne( ... { ...    _id : 100, ...    CountryCode:101, ...    details: [ ...       { ...          Name:"Chris", ...          Subject:"MySQ