code: function MatchNotExists (storage, testTables, document) {
    for (const key of storage.keys) {
      if (document[key] === undefined) {
        testTables.addMatch(storage.fields[key].subfilters);
      }
  
      if (Array.isArray(document[key])) {
        for (const entry of storage.fields[key].values) {
          if (!document[key].includes(entry[0])) {
            testTables.addMatch(entry[1]);
          }
        }
      } else {
        // if a field is missing, or not an array,
        // then all possible array values are missing too
        for (const value of storage.fields[key].values.values()) {
          testTables.addMatch(value);
        }
      }
    }
  }
docs: Updates the matched filters according to the provided data
  O(n) with n the number of document keys
  
  @param {object} storage - content of all conditions to be tested
  @param {object} testTables - test tables to update when a filter matches the document
  @param {object} document