MongoDBで時間と$avgで集計する必要があります
集約するには、MongoDBでaggregate()を使用します。コレクション内のデータの集計値を計算します。
ドキュメントを使用してコレクションを作成しましょう-
> db.demo544.insertOne({"DueTime":new ISODate("2020-01-10 12:10:20"),Amount:100});{ "acknowledged" : true, "insertedId" : ObjectId("5e8e1f029e5f92834d7f05ce") } > db.demo544.insertOne({"DueTime":new ISODate("2020-01-12 12:00:00"),Amount:500});{ "acknowledged" : true, "insertedId" : ObjectId("5e8e1f089e5f92834d7f05cf") } > db.demo544.insertOne({"DueTime":new ISODate("2020-01-12 12:10:20"),Amount:900});{ "acknowledged" : true, "insertedId" : ObjectId("5e8e1f109e5f92834d7f05d0") }
find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo544.find();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e8e1f029e5f92834d7f05ce"), "DueTime" : ISODate("2020-01-10T12:10:20Z"), "Amount" : 100 } { "_id" : ObjectId("5e8e1f089e5f92834d7f05cf"), "DueTime" : ISODate("2020-01-12T12:00:00Z"), "Amount" : 500 } { "_id" : ObjectId("5e8e1f109e5f92834d7f05d0"), "DueTime" : ISODate("2020-01-12T12:10:20Z"), "Amount" : 900 }
以下は、1時間と$avgで集計するクエリです-
> db.demo544.aggregate( { "$group": { "_id": { "$hour": "$dueTime" }, "Amount": { "$avg": "$Amount" } }} )
これにより、次の出力が生成されます-
{ "_id" : null, "Amount" : 500 }
-
MongoDBとPython
MongoDBは、広く使用されているドキュメントデータベースであり、NoSQLDBの形式でもあります。 Pythonは、いくつかのpythonモジュールを介してMongoDBと対話し、MongoDB内でデータを作成および操作できます。この記事では、その方法を学びます。ただし、PythonがMongoDBに接続して実行する前に、MongoDBがシステムですでに使用可能になっている必要があります。システムにMongoDBをセットアップするには、MongoDBチュートリアルにアクセスしてください。 ここに.. pymongoをインストールする MongoDBと対話するには、モジュール名pymong
-
MongoDBの集約と投影?
このために、aggregate()と一緒に$projectを使用します。集約された$projectは、要求されたフィールドを持つドキュメントをパイプラインの次のステージに渡します。 ドキュメントを使用してコレクションを作成しましょう- > db.demo762.insertOne({ ... "_id" : { ... "userId":101, ... "userName":"Chris" ...