MongoDBアグリゲートに$matchと$projectを実装します
$ matchはドキュメントをフィルタリングして、指定された条件に一致するドキュメントのみを次のパイプラインステージに渡します。
$ projectは、要求されたフィールドを含むドキュメントをパイプラインの次のステージに渡します。
例を見て、ドキュメントを使用してコレクションを作成しましょう-
> db.demo545.insert({Name:"Chris",details:{SubjectScore1:56,SubjectScore2:56}}) WriteResult({ "nInserted" : 1 }) > db.demo545.insert({Name:"David",details:{SubjectScore1:78,SubjectScore2:78}}) WriteResult({ "nInserted" : 1 })
find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo545.find();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e8e246e9e5f92834d7f05d5"), "Name" : "Chris", "details" : { "SubjectScore1" : 56, "SubjectScore2" : 56 } } { "_id" : ObjectId("5e8e24709e5f92834d7f05d6"), "Name" : "David", "details" : { "SubjectScore1" : 78, "SubjectScore2" : 78 } }
以下は、$matchと$project-
を実装するためのクエリです。>db.demo545.aggregate([{$match:{}},{$project:{"_id":0,"details.SubjectScore1":1,out:"$details .SubjectScore2"}},{$group:{_id:"$out"}}])
{ "_id" : 78 } { "_id" : 56 }
-
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" ...