title: Jq: why does del() leave null in place?
body: <p>I have to recursively remove objects that contain a given key value. </p>
  
  <p>The Json is:</p>
  
  <pre><code>{
      "health": "yellow",
      "status": "open",
      "index": ".monitoring-es-2-2017.03.03",
      "uuid": "Py3FY-UwSjmda3jbYeIdMg",
      "pri": "1",
      "rep": "1",
      "docs.count": "23494",
      "docs.deleted": "78",
      "store.size": "12mb",
      "pri.store.size": "12mb"
    },
    {
      "health": "yellow",
      "status": "open",
      "index": "robot-log-01.02.2017",
      "uuid": "lFndm8gDS2OAGXZhP5KSkw",
      "pri": "5",
      "rep": "1",
      "docs.count": "127887",
      "docs.deleted": "0",
      "store.size": "35.1mb",
      "pri.store.size": "35.1mb"
    }
  </code></pre>
  
  <p>Config is:</p>
  
  <pre><code>walk( if ((type == "object" and has("index")) and (."index" | test("monitoring*"))) then del(.) else . end )
  </code></pre>
  
  <p>Output is:</p>
  
  <pre><code>null,
        {
          "health": "yellow",
          "status": "open",
          "index": "robot-log-01.02.2017",
          "uuid": "lFndm8gDS2OAGXZhP5KSkw",
          "pri": "5",
          "rep": "1",
          "docs.count": "127887",
          "docs.deleted": "0",
          "store.size": "35.1mb",
          "pri.store.size": "35.1mb"
        }
  </code></pre>
  
  <p>Why does del() leave null in place? How to avoid it?</p>