2017-03-21 15 views
1

MongoDBのコレクション例(人):MongoDbコレクションの配列フィールドに投影する方法は?

{ 
    "id": "12345", 
    "schools": [ 
       { 
        "name": "A", 
        "zipcode": "12345" 
       }, 
       { 
        "name": "B", 
        "zipcode": "67890" 
       } 
      ] 
} 

所望の出力:

{ 
    "id": "12345", 
    "schools": [ 
       { 
        "zipcode": "12345" 
       }, 
       { 
        "zipcode": "67890" 
       } 
      ] 
} 

すべてを取得するための私の現在の部分コード:

collection.find({}, {id: true, schools: true}) 

私はコレクション全体を照会しています。しかし、私は学校の要素の郵便番号の一部を返すだけで、実際の学校のオブジェクトには私が必要としない多くのデータが含まれている可能性があるため、他のフィールドではありません。私はすべてを取得し、不要なフィールド(学校の "名前"など)をコードで削除することができますが、それは私が探しているものではありません。私はMongoDbクエリを実行したい。

答えて

2

ドット表記を使用して、配列に埋め込まれたドキュメント内の特定のフィールドを投影できます。

db.collection.find({},{id:true, "schools.zipcode":1}).pretty() 
関連する問題