code: public MongoDeepJobConfig<T> filterQuery(Filter[] filters) {
  
          if (filters.length > 0) {
              List<BasicDBObject> list = new ArrayList<>();
  
              QueryBuilder queryBuilder = QueryBuilder.start();
              for (int i = 0; i < filters.length; i++) {
                  BasicDBObject bsonObject = new BasicDBObject();
  
                  Filter filter = filters[i];
                  if (filter.getFilterType().equals(FilterType.EQ)) {
                      bsonObject.put(filter.getField(), filter.getValue());
                  } else {
                      bsonObject.put(filter.getField(),
                              new BasicDBObject("$".concat(filter.getFilterType().getFilterTypeId().toLowerCase()),
                                      filter.getValue()));
                  }
  
                  list.add(bsonObject);
              }
              queryBuilder.and(list.toArray(new BasicDBObject[list.size()]));
  
              filterQuery(queryBuilder);
          }
          return this;
  
      }
docs: Filter query.
  
  @param filters the filters
  @return the mongo deep job config