title: Multiple filters via MongoDB C# driver
body: <p>How runtime generate filters with <a href="http://mongodb.github.io/mongo-csharp-driver/" rel="nofollow" title="official drivers">official drivers</a>? I want get contacts that contains specific user id and can be filtered for some properties (contains some text)</p>
  
  <p>Current code dont work with <code>request.Filter &gt; 1</code>:</p>
  
  <pre><code>private FilterDefinition&lt;Contact&gt; BuildFilter(NgTableRequest request, string userId)
  {
      var filters = new List&lt;FilterDefinition&lt;Contact&gt;&gt;
      {
          Builders&lt;Contact&gt;.Filter.Where(q =&gt; q.ContactUsers.Any(w =&gt; w.UserId == userId))
      };
  
      if (request.Filter != null &amp;&amp; request.Filter.Any())
      {
          foreach (var reqFilter in request.Filter)
          {
              filters.Add(Builders&lt;Contact&gt;.Filter.Regex(reqFilter.Key, reqFilter.Value[0]));
          }
      }
  
      var result = Builders&lt;Contact&gt;.Filter.And(filters);
  
      return result;
  }
  </code></pre>