mongodb projection with example
MongoDBでのプロジェクションの詳細:
私たちはもっと学びました MongoDBでの集約 前のチュートリアルのさまざまなコマンドと演算子とともに。
このチュートリアルでは、MongoDBでのプロジェクションについて詳しく見ていきます。すべてではなく、ドキュメント全体の選択されたフィールドのみを取得する場合は、プロジェクションを使用します。
の全範囲を探索する MongoDBオンライントレーニングチュートリアル 。
MongoDBでのプロジェクション
MongoDBでは、テーブルは「コレクション」を意味し、行は「ドキュメント」を意味し、列は「フィールド」を意味します。
簡単に言えば、投影の目的は、選択的なデータを見つけるのに役立つことです。エンタープライズレベルのアプリケーションを扱う場合、膨大な量のレコードがあります。これらのレコードの処理には時間がかかるため、選択したデータのみを処理する必要があります。
以下は、MongoDBのProjectionを使用して限られた量のデータを取得できる構文の例です。
Android携帯でネットワークセキュリティキーを見つける方法
構文:
db.DATA_COLLECTION_NAME.find({},{YOUR_FIELD_KEY:BOOLEAN})
次に、プロジェクションを処理するための構文を理解します。
DATA_COLLECTION_NAMEは、処理のためにレコードを取得する必要があるテーブルの名前です。
以下は、MongoDBのProjectionを使用して限られた量のデータを取得できる構文の例です。
- YOUR_FIELD_KEYは、テーブルから処理する列またはエンティティの名前です。
- BOOLEANは、列の値を表示および非表示にするためのチェックです。
次の例を見て、いくつかのデータを処理して投影の深さを理解しましょう。次のクエリでは、pretty()を使用して、選択したコレクションで使用可能なすべてのレコードを読み取り可能な形式で取得します。
クエリ:
db.softwaretestinghelp.find().pretty()
ここに 「softwaretestinghelp」 私たちのコレクションの名前です。上記のクエリを処理すると、次の結果が生成されます。
図1:MongoDBシェルの結果
図2:Robo3Tの結果
UNIXのgrepコマンドとは
これで、学生の名前のみを取得する必要があり、他のすべてのフィールドを出力に表示する必要はありません。したがって、ここではプロジェクションを使用して、レコードの母集団全体から必要な情報をスライスします。
次のクエリでは、学生のIDのみを取得し、ObjectIdをレコードから非表示にします。
クエリ:
db.softwaretestinghelp.find({}, {'_id': 0, 'student_id': 1})
このクエリは、コレクション「softwaretestinghelp」から学生IDのみを取得し、次の出力で確認できるようにObjectIdを非表示にします。
図3:MongoDBシェルの結果
図4:Robo3Tの結果
この例では、レコードを表示するために1つの列名のみを使用しています。 MongoDBのプロジェクションを使用して複数の列の値を表示する場合は、以下のクエリを使用できます。
クエリ:
db.softwaretestinghelp.find({}, {'_id': 0, 'student_id': 1, 'student_age': 1})
ブール値1の複数の列名を持つクエリを処理すると、次のような結果が得られます。
図5:MongoDBシェルの結果
図6:Robo3Tの結果
データベーステスト面接の質問と回答
結論
MongoDBでのプロジェクションの概念について明確に理解していただければ幸いです。
これでデータを処理できるようになり、ブール値を使用して列の値を表示および非表示にできることがわかりました。
MongoDBの正規表現について詳しくは、今後のチュートリアルをご覧ください。