MongoDB-プロジェクション

MongoDBでは、プロジェクションとは、ドキュメントのデータ全体を選択するのではなく、必要なデータのみを選択することを意味します。ドキュメントに5つのフィールドがあり、3つだけを表示する必要がある場合は、それらから3つのフィールドのみを選択します。

find()メソッド

MongoDBの find()MongoDB Query Documentで説明されているメソッドは、取得するフィールドのリストである2番目のオプションのパラメーターを受け入れます。MongoDBでは、実行するとfind()メソッドの場合、ドキュメントのすべてのフィールドが表示されます。これを制限するには、値1または0のフィールドのリストを設定する必要があります。1はフィールドを表示するために使用され、0はフィールドを非表示にするために使用されます。

構文

の基本構文 find() 投影法は次のとおりです-

>db.COLLECTION_NAME.find({},{KEY:1})

コレクションmycolに次のデータがあるとします-

{_id : ObjectId("507f191e810c19729de860e1"), title: "MongoDB Overview"},
{_id : ObjectId("507f191e810c19729de860e2"), title: "NoSQL Overview"},
{_id : ObjectId("507f191e810c19729de860e3"), title: "Tutorials Point Overview"}

次の例では、ドキュメントのクエリ中にドキュメントのタイトルを表示します。

>db.mycol.find({},{"title":1,_id:0})
{"title":"MongoDB Overview"}
{"title":"NoSQL Overview"}
{"title":"Tutorials Point Overview"}
>

ご注意ください _id 実行中は常にフィールドが表示されます find() メソッド、このフィールドが必要ない場合は、0に設定する必要があります。