title: MongoDB excluding fields from aggregate, is that possible?
body: <p>Im trying to exclude some fields from my booking aggregate.</p>
  
  <p>{
   "user":0, 
   "paymentType":0, 
   "_id":0
  }</p>
  
  <p>without this it works great, but with it I get the errors:</p>
  
  <pre><code>assert: command failed: {
      "ok" : 0,
      "errmsg" : "A pipeline stage specification object must contain exactly one field.",
      "code" : 40323,
      "codeName" : "Location40323"
  } : aggregate failed
  </code></pre>
  
  <p>Is this possible to do, or can I only do it with find() ?</p>
  
  <pre><code>db.getCollection('booking').aggregate([{
      $match: {
          checkin : {$lte: (1512145439)},
          checkout: {$gte: (1483203600)},
      }
  }, 
      {
       "user":0, 
       "paymentType":0, 
       "_id":0
      }
  , {
      $lookup: {
          from: "users",
          localField: "user",
          foreignField: "_id",
          as: "users"
      }   
  }, {
      $unwind: "$user"
  }, {
      $addFields: {
          "country": "$users.country"
      }
  }, {
      $project: {
          "users": 0
      }    
  }, {
      $project: {
          "booking": 0
      }
  }])
  </code></pre>
  
  <p>If I do like this, it will exclude the fields:</p>
  
  <pre><code>db.getCollection('booking').find({},        
          {
           "user":0, 
           "paymentType":0, 
           "_id":0
          })
  </code></pre>