title: Aggregate query with no $match
body: <p>I have a collection in which unique documents from a different collection can appear over and over again (in example below <code>item</code>), depending on how much a user shares them. I want to create an aggregate query which finds the most shared documents. There is no $match necessary because I'm not matching a certain criteria, I'm just querying the most shared. Right now I have:</p>
  
  <pre><code>db.stories.aggregate(
      {
          $group: {
              _id:'item.id', 
              'item': { 
                  $first: '$item'
              }, 
              'total': { 
                  $sum: 1
              }
          }
      }
  );
  </code></pre>
  
  <p>However this only returns 1 result. It occurs to me I might just need to do a simple <code>find</code> query, but I want the results aggregated, so that each result has the item and total is how many times it's appeared in the collection.</p>
  
  <p>Example of a document in the stories collection:</p>
  
  <pre><code>{
      _id: ObjectId('...'),
      user: {
          id: ObjectId('...'),
          propertyA: ...,
          propertyB: ...,
          etc
      },
      item: {
          id: ObjectId('...'),
          propertyA: ...,
          propertyB: ...,
          etc
      }
  }
  </code></pre>
  
  <p><code>users</code> and <code>items</code> each have their own collections as well.</p>