code: function MatchRange (storage, testTables, document, not = false) {
    for (const key of storage.keys) {
      let rangeConditions;
      if (typeof document[key] === 'number') {
        rangeConditions = storage.fields[key].tree.search(document[key], document[key]);
      } else if (not) {
        rangeConditions = storage.fields[key].conditions.values();
      }
  
      if (rangeConditions !== undefined) {
        for (const cond of rangeConditions) {
          testTables.addMatch(cond.subfilters);
        }
      }
    }
  }
docs: Updates the matched filters according to the provided data
  O(log n + m) with n the number of range filters stored
  and m the number of matched ranges
  
  @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
  @param {boolean} not - used by notrange operator