Docs Menu
Docs Home
/ / /
Ruby MongoDB ドライバー
/

プロジェクション

項目一覧

  • プロジェクション ドキュメント

デフォルトでは、MongoDB のクエリは一致するドキュメント内のすべてのフィールドを返します。 MongoDB がアプリケーションに送信するデータ量を制限するには、クエリ操作にプロジェクションドキュメントを含めることができます。

プロジェクション ドキュメントは、一致するすべてのドキュメントに対して返されるフィールドを制限します。 プロジェクション ドキュメントは、含めるフィールドまたは除外するフィールドを指定でき、形式は次のとおりです。

{ 'projection': { field1: <value>, field2: <value> ... } }

<value> false true 0には1 _idフィールドを除き、同じプロジェクション ドキュメントに包含と除外の両方を含めることはできません。

次のコード例では、 restaurantsサンプル データセットを使用します。

クエリフィルターに一致するドキュメントのnamecuisine_id フィールドのみを返すには、プロジェクション ドキュメントにname cuisineフィールドと フィールドを明示的に含めます。_idフィールドは明示的に除外されない限り、自動的に含まれます。

client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'test')
collection = client[:restaurants]
collection.find({}, { 'projection' =>
{ 'name' => 1, 'cuisine' => 1 } }).limit(5).each do |doc|
p doc
end

namecuisineを返し、 _idを含む他のすべてのフィールドを除外するには、次のプロジェクション ドキュメントを使用します。

{ 'projection' => { 'name' => 1, 'cuisine' => 1, '_id' => 0 } }

住所 フィールドを除くすべてのフィールドを返すには、次の を使用します。

{ 'projection' => { 'address' => 0 } }

戻る

一括書込み (write)