title: How can I use the $match operator twice in a single mongoDB query?
body: <p>I have two models:</p>
  
  <pre><code>const ClientRequest = new mongoose.Schema({
     sourceLanguage: {
          type: String,
          default: '',
          trim: true
      },
      type: {
          type: String,
          default: '',
          trim: true
      },
      customer: {
          type: Schema.Types.ObjectId, ref: 'Client'
      }
  }
  </code></pre>
  
  <p>and </p>
  
  <pre><code>const Client = new mongoose.Schema({
      name: {
          type: String,
          default: '',
          trim: true
      },
      web: {
          type: String,
          default: '',
          trim: true
      },
      country: {
          type: String,
          default: '',
          trim: true
      }
  }
  </code></pre>
  
  <p>And I need to find all <code>requests</code> filtered by <code>sourceLanguage</code> and <code>name</code>.
  I'm using this query:</p>
  
  <pre><code>const requests = await ClientRequest.aggregate([
              {$match: {
                  "sourceLanguage.symbol": "EN-GB"}
              },
              {
                  $lookup: {
                      from: "clients",
                      localField: "customer",
                      foreignField: "_id",
                      as: "clients"
                  }
              },
              {
                  $match: {
                      "clients.name": filters.clientFilter,
                  }
              }
          ])
  </code></pre>
  
  <p>But it returns empty array. If I remove one of the <code>$match</code> it works. But how can I use both of the filters at the same time in a single query?</p>