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

集計でMongoDBのマークの平均を取得しますか?


集約フレームワークとともに$avg演算子を使用します。まず、ドキュメントを使用してコレクションを作成しましょう。ここで、フィールドの1つはStudentScore-

です。
> db.averageReturiningNullDemo.insertOne(
   {"StudentDetails" : { "StudentScore" : 89 }
});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ce9822e78f00858fb12e927")
}
> db.averageReturiningNullDemo.insertOne(
   {"StudentDetails" : { "StudentScore" : 34 }
});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ce9822e78f00858fb12e928")
}
> db.averageReturiningNullDemo.insertOne(
   {"StudentDetails" : { "StudentScore" : 78 }
});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ce9822e78f00858fb12e929")
}

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-

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

これにより、次の出力が生成されます-

{
   "_id" : ObjectId("5ce9822e78f00858fb12e927"),
   "StudentDetails" : {
      "StudentScore" : 89
   }
}
{
   "_id" : ObjectId("5ce9822e78f00858fb12e928"),
   "StudentDetails" : {
      "StudentScore" : 34
   }
}
{
   "_id" : ObjectId("5ce9822e78f00858fb12e929"),
   "StudentDetails" : {
      "StudentScore" : 78
   }
}

以下は、平均リターンへのクエリです-

> db.averageReturiningNullDemo.aggregate([
   {
      "$group": {
         "_id": null,
         "StudentScoreAverage": {
            "$avg": "$StudentDetails.StudentScore"
         }
      }
   }
]);

これにより、次の出力が生成されます-

{ "_id" : null, "StudentScoreAverage" : 67 }

  1. マークが最も少ない2つのドキュメントを取得するためのMongoDB集計

    ソートされたマークのリストを取得するには、$sortを使用します。 $ limit:2を使用します マークが最も少ないそのようなドキュメントを2つだけ表示します。ドキュメントを使用してコレクションを作成しましょう- > db.demo709.insertOne({Name:"John","Marks":75}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea839005d33e20ed

  2. MongoDB Aggregateを使用して、ドキュメントと配列要素の平均を取得しますか?

    このために、$groupおよびaggregate()とともに$avgを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo598.insertOne( ...    { ...       Information:'Student', ...       id:100, ...       details:[ ...          {Name:'Chris',Ma