code: function getBasicInMemoryFields(index, selector, userFields) {
  
    userFields = sortFieldsByIndex(userFields, index);
  
    // check if any of the user selectors lose precision
    var needToFilterInMemory = false;
    for (var i = 0, len = userFields.length; i < len; i++) {
      var field = userFields[i];
      if (needToFilterInMemory || !checkFieldInIndex(index, field)) {
        return userFields.slice(i);
      }
      if (i < len - 1 && userOperatorLosesPrecision(selector, field)) {
        needToFilterInMemory = true;
      }
    }
    return [];
  }
docs: first pass to try to find fields that will need to be sorted in-memory