title: Can I get first document (not field) in MongoDB aggregate query?
body: <p>In <a href="http://docs.mongodb.org/manual/tutorial/aggregation-examples/" rel="noreferrer">Aggregation Framework Examples</a>,there is a first &amp; last example:</p>
  
  <pre><code>db.zipcodes.aggregate( { $group:
                           { _id: { state: "$state", city: "$city" },
                             pop: { $sum: "$pop" } } },
                         { $sort: { pop: 1 } },
                         { $group:
                           { _id : "$_id.state",
                             biggestCity:  { $last: "$_id.city" },
                             biggestPop:   { $last: "$pop" },
                             smallestCity: { $first: "$_id.city" },
                             smallestPop:  { $first: "$pop" } } }
  </code></pre>
  
  <p>Can I get the full zipcodes document with <code>$first</code>? </p>
  
  <p>Edited:</p>
  
  <p>To clarify,I use coffeescript in my express app do the following thing,seems stupid:</p>
  
  <pre><code>@aggregate(
    {
      $group :  
        _id : "$category" 
        cnt : { $sum : 1 }
        id: {$first: "$_id"}
        name: {$first: "$name"}
        description: {$first: "$description"}
        region: {$first: "$region"}
        startedAt: {$first: "$startedAt"}
        titleImage: {$first: "$titleImage"}
        tags: {$first: "$tags"}
    },
    {$sort :{"createdAt" : -1}}
  </code></pre>
  
  <p>The fields (id,name,... tags) are all the document schema's field.
  I just want to know,is there any way to do this in single <code>$first</code>.</p>