title: Pymongo find with a projection operator
body: <p>I have a nested mongodb database and I am trying to perform a query which find entries and returns only certain fields.</p>
  
  <p>The fields that I want returning are nested</p>
  
  <p>The database looks like this</p>
  
  <pre><code> {
   'material_type':'solid',
   'performance':10,
   'material': {'isotopes': [ { 'abundance': 0.9,
                                'atomic_number': 6,
                               },
                               { 'abundance': 0.1,
                                 'atomic_number': 7,
                               }
                             ]
                  },
   },
   {
   'material_type':'solid',
   'performance':9,
   'material': {'isotopes': [ { 'abundance': 0.7,
                                   'atomic_number': 6,
                               },
                               { 'abundance': 0.3,
                                   'atomic_number': 7,
                               }
                             ]
                  }
   }
  </code></pre>
  
  <p>I would like to return the nested abundance field but <strong>only</strong> if the atomic number is equal to 6.</p>
  
  <p>I have tried performing a projection on the query and currently have something like this in python pymongo</p>
  
  <pre><code> results = database.find({'material_type':'solid'},
                           {'performance':True,
                            'material.isotopes':True 
                           })
  </code></pre>
  
  <p>I think that I need a projection operation but can't get them to work in pymongo. 
  Any ideas what the pymongo database.find operation should be to return the below fields and values?</p>
  
  <pre><code>  performance , abundance 
    10              0.9
    9               0.7
  </code></pre>