title: Mongodb $lookup on multiple fields
body: <p>I have two collections, <code>products</code> and <code>properties</code>.</p>
  
  <p>I'm doing a lookup such as:</p>
  
  <pre><code>[{
          $match: {
              category_id: mongoose.Types.ObjectId(category_id)
          }
      },
      {
          $lookup: {
              from: "properties",
              localField: "category_id",
              foreignField: "category_id",
              as: "properties"
          }
      }
  ]
  </code></pre>
  
  <p>This is basically getting me all of the products that match the category_id and including the properties that match the same category_id.</p>
  
  <p>I need to add an additional check, for <code>some_id</code> on the <code>properties</code> result.  In otherwords, the <code>properties</code> should be grouped by the <code>some_id</code> that is returned from the <code>products</code> collection and matches the same key in <code>properties</code>.  Does that make sense? Basically having the ability to have multiple local/foreign field definitions.</p>
  
  <p>any idea how I could this?</p>