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

集計クエリで$avgの「-Infinity」結果を取得するにはどうすればよいですか?


このために、aggregate()を使用できます。まず、vlaueが-infinity-

であるドキュメントを含むコレクションを作成しましょう。
> db.demo5.insertOne({ "_id" : 100, "seq" : 10, "Value" : -Infinity });
{ "acknowledged" : true, "insertedId" : 100 }
> db.demo5.insertOne({ "_id" : 101, "seq" : 10, "Value" : 50 });
{ "acknowledged" : true, "insertedId" : 101 }
> db.demo5.insertOne({ "_id" : 102, "seq" : 20, "Value" : 60 });
{ "acknowledged" : true, "insertedId" : 102 }
> db.demo5.insertOne({ "_id" : 103, "seq" : 20, "Value" : 50 });
{ "acknowledged" : true, "insertedId" : 103 }

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

> db.demo5.find();

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

{ "_id" : 100, "seq" : 10, "Value" : -Infinity }
{ "_id" : 101, "seq" : 10, "Value" : 50 }
{ "_id" : 102, "seq" : 20, "Value" : 60 }
{ "_id" : 103, "seq" : 20, "Value" : 50 }

これは、集計クエリで$avgの「-Infinity」結果を取得するためのクエリです。 seqに基づいて、平均を求めました。その結果、-Infinity-

> db.demo5.aggregate([{$group:{"_id":"$seq", "average" : {$avg : "$Value"}}}]);

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

{ "_id" : 20, "average" : 55 }
{ "_id" : 10, "average" : -Infinity }

  1. Microsoft Word を無料で入手する方法

    Microsoft Word を無料で手に入れるなんて夢のようです。これは素晴らしいプログラムであり、ほとんどのオフィス、家庭、および学校環境の定番ですが、通常、使用したい場合は毎年費用がかかります.しかし、Microsoft Word を無料で使用する方法がいくつかある場合、実際には Microsoft Word に料金を支払う必要はありません。 Word 文書を開いたり、編集したり、単に文書を表示したりする場合でも、これらの無料の Microsoft Word ツールはまさに必要なものです。 これらの Microsoft Word を無料で使用する戦略があなたの求めているものではない場

  2. Office 365 を無料で入手する方法

    Microsoft Office 365 (現在は Microsoft 365 と呼ばれています) のサブスクリプションは、年間 70 ドルから、または約 150 ドルでライセンスを購入できます。ただし、必ずしもこれらの価格を支払う必要はありません。 外出先で使用する必要があるか、PC で使用する必要があるかは問題ではありません。控えめに使用する場合でも、1 日 8 時間使用する場合でも問題ありません。 Office 365 を無料で入手する方法はいくつかあります。 Microsoft Office Online を使用 Google の一連の生産性アプリに対抗するために、Micro