title: How to filter an array of objects based on values in an inner array with jq?
body: <p>Given this input:</p>
  <pre><code>[
    {
      &quot;Id&quot;: &quot;cb94e7a42732b598ad18a8f27454a886c1aa8bbba6167646d8f064cd86191e2b&quot;,
      &quot;Names&quot;: [
        &quot;condescending_jones&quot;,
        &quot;loving_hoover&quot;
      ]
    },
    {
      &quot;Id&quot;: &quot;186db739b7509eb0114a09e14bcd16bf637019860d23c4fc20e98cbe068b55aa&quot;,
      &quot;Names&quot;: [
        &quot;foo_data&quot;
      ]
    },
    {
      &quot;Id&quot;: &quot;a4b7e6f5752d8dcb906a5901f7ab82e403b9dff4eaaeebea767a04bac4aada19&quot;,
      &quot;Names&quot;: [
        &quot;jovial_wozniak&quot;
      ]
    },
    {
      &quot;Id&quot;: &quot;76b71c496556912012c20dc3cbd37a54a1f05bffad3d5e92466900a003fbb623&quot;,
      &quot;Names&quot;: [
        &quot;bar_data&quot;
      ]
    }
  ]
  </code></pre>
  <p>I'm trying to construct a filter with <a href="http://stedolan.github.io/jq/" rel="noreferrer">jq</a> that returns all objects with <code>Id</code>s that <strong>do not</strong> contain &quot;data&quot; in the inner <code>Names</code> array, with the output being newline-separated.  For the above data, the output I'd like is:</p>
  <pre><code>cb94e7a42732b598ad18a8f27454a886c1aa8bbba6167646d8f064cd86191e2b
  a4b7e6f5752d8dcb906a5901f7ab82e403b9dff4eaaeebea767a04bac4aada19
  </code></pre>
  <p>I think I'm somewhat close with this:</p>
  <pre><code>(. - select(.Names[] contains(&quot;data&quot;))) | .[] .Id
  </code></pre>
  <p>but the <code>select</code> filter is not correct and it doesn't compile (get <code>error: syntax error, unexpected IDENT</code>).</p>