title: Compare field (string) at $match stage
body: <p>I would like to get the expected result with something like the following query.
  I know that <code>$where</code> cannot be used in <code>$match</code>.</p>
  
  <p>How should I compare the each field of string at <code>$match</code> stage?</p>
  
  <p><strong><em>query</em></strong></p>
  
  <pre><code>db.col_sample.aggregate([
      {$unwind: "$array"},
      {$lookup: {
          from: "col_population",
          localField: "array",
          foreignField: "foo.key",
          as: "join"
      }},
      {$match: {
          "join.foo.key2": "foo.key3"
      }}
  ])
  </code></pre>
  
  <p><strong><em>expected result</em></strong></p>
  
  <pre><code>{
    "_id": (snip),
    "foo": {
      "key1": "0xBBB",
      "key2": "bbb",
      "key3": "ccc"
    },  
    "array": [
      "0xCCC",
      "0xDDD"
    ]
  }
  </code></pre>
  
  <p><strong><em>col_population</em></strong></p>
  
  <pre><code>{ 
    "foo": {
      "key1": "0xBBB",
      "key2": "bbb",
      "key3": "ccc"
    },  
    "array": [
      "0xCCC",
      "0xDDD"
    ]
  }
  { 
    "foo": {
      "key1": "0xCCC",
      "key2": "ccc",
      "key3": "ddd"
    },  
    "array": [
      "0xDDD",
      "0xEEE"
    ]
  }
  </code></pre>
  
  <p><strong><em>col_sample</em></strong></p>
  
  <pre><code>{ 
    "foo": {
      "key1": "0xAAA",
      "key2": "aaa",
      "key3": "bbb"
    },  
    "array": [
      "0xBBB",
      "0xCCC"
    ]
  }
  </code></pre>