title: How to make nested queries in MongoDb that works like nested Sql select queries
body: <p>I want to make an efficient query in MongoDb to find all users who have their userids listed in a usergroup. Ideally I want to make this as a single request to Mongodb.
  What I want corresponds to nested selects in SQL.
  I have tried this in the mongo shell:</p>
  
  <pre><code>db.user.save({_id:"u1", Name:"u1 name"});
  db.user.save({_id:"u2", Name:"u1 name"});
  db.user.save({_id:"u3", Name:"u3 name"});
  db.usergroup.save({_id:"g1", Users: ["u2","u3"]});
  </code></pre>
  
  <p>Now here is the select I want to do, but without hardcoding the ["u2","u3"] array:</p>
  
  <pre><code>db.user.find({_id:{$in:["u2","u3"]}}).forEach(printjson);
  </code></pre>
  
  <p>This works fine and returns the user objects for u2 and u3.</p>
  
  <p>Now the question is how to get the array of userids in the $in operator extracted with a query such that the entire query can be made with a single request.</p>
  
  <p>A "nested query" like this does not work:</p>
  
  <pre><code>db.user.find({_id:{$in:db.usergroup.find({_id:"g1"},{_id:0,Users:1})}}).forEach(printjson);
  </code></pre>
  
  <p>Gives this error:
      Tue Mar 27 06:17:41 uncaught exception: error: { "$err" : "invalid query", "code" : 12580 }
      failed to load: mongoNestedSelect.js</p>
  
  <p>1)  is this possible in mongodb and how ?</p>
  
  <p>2)  how to do this with the official c# driver ?</p>