title: How to filter Mongodb $lookup results to get only the matched nested objects?
body: <p>I have a <code>customers</code> collection such as;</p>
  
  <pre><code>{ 
    "_id" : ObjectId("5de8c07dc035532b489b2e23"),
    "name" : "sam",
    "orders" : [{"ordername" : "cola"},{"ordername" : "cheesecake"}]
  }
  </code></pre>
  
  <p>And <code>waiters</code> collection such as;</p>
  
  <pre><code>{   
      "_id" : ObjectId("5de8bc24c035532b489b2e20"),
      "waiter" : "jack",
      "products" : [{"name" : "cola", "price" : "4"}, 
                    {"name" : "water", "price" : "2"}, 
                    {"name" : "coffee", "price" : "8" }]
  }
  {   
      "_id" : ObjectId("5de8bdc7c035532b489b2e21"),
      "waiter" : "susan",
      "products" : [{"name" : "cheesecake", "price" : "12" }, 
                    {"name" : "apple pie", "price" : "14" }]
  }
  </code></pre>
  
  <p>I want to join the objects from <code>waiters</code> collection into the <code>customers</code> collection by matching "products.name" and "orders.ordername". But, the result includes the whole document from the <code>waiters</code> collection, however, I want only the matched objects inside the document. Here is what I want;</p>
  
  <pre><code>ordered:[ 
    {"name" : "cola", "price" : "4"},
    {"name" : "cheesecake", "price" : "12" },
  ]
  </code></pre>
  
  <p>I tried <code>$lookup</code> with and without pipeline, and filter but could not get this result. Thanks in advance.</p>