title: Filtering out rows with children in Elasticsearch Nest
body: <p>I have a type <code>PurchaseOrder</code> which can have 0 or many <code>VendorStatuses</code>. I want to create a filter that will find <code>PurchaseOrders</code> that have <strong>no</strong> <code>VendorStatuses</code>. How can I do this?</p>
  
  <p>Things I've tried:</p>
  
  <pre><code>Filter &amp;= Filter&lt;PurchaseOrder&gt;.HasChild&lt;PoVendorStatus&gt;(c =&gt; c
      .MaxChildren(0)); //40 results
  
  Filter &amp;= Filter&lt;PurchaseOrder&gt;.HasChild&lt;PoVendorStatus&gt;(c =&gt; c
      .MaxChildren(0)
      .Query(x =&gt; x.MatchAll())); // 0 results
  
  Filter &amp;= Filter&lt;PurchaseOrder&gt;.Missing(y =&gt; y.VendorStatuses); // 40 results
  
  Filter &amp;= Filter&lt;PurchaseOrder&gt;.Exists(y =&gt; y.VendorStatuses); // 0 results
  
  Filter &amp;= Filter&lt;PurchaseOrder&gt;.Nested(nfd =&gt; nfd.Path(x =&gt; x.VendorStatuses.First())
      .Filter(f2 =&gt; f2.Missing(y =&gt; y.Id))); 
  //9 results! But these are the ones that *have* statuses, I need the opposite
  
  Filter &amp;= Filter&lt;PurchaseOrder&gt;.Nested(nfd =&gt; nfd.Path(x =&gt; x.VendorStatuses.First())
      .Filter(f2 =&gt; f2.Exists(y =&gt; y.Id))); 
  //0 results &gt;:(
  
  Filter &amp;= Filter&lt;PurchaseOrder&gt;.Nested(nfd =&gt; nfd.Path(x =&gt; x.VendorStatuses)
      .Query(f2 =&gt; f2.Terms(t =&gt; t.VendorStatuses.First().Id, new[] { (long?)null })));
  //40 results
  
  Filter &amp;= Filter&lt;PurchaseOrder&gt;.Nested(nfd =&gt; nfd.Path(x =&gt; x.VendorStatuses)
      .Query(f2 =&gt; f2.Term(t =&gt; t.VendorStatuses.First().Id, null)));
  //40 results
  </code></pre>
  
  <p>There are 40 records in the index, and I know there's at least one that has no vendor statuses, but these queries are returning all or nothing. How can I implement this?</p>
  
  <p>We are using Nest 1.7.2 and Elasticsearch version 1.4.5</p>