agave-metadata/metadata-core/src/main/java/org/iplantc/service/metadata/search/MetadataSearch.java
/**
     * Find all documents matching {@code query} with fields specified by {@code filters}
     *
     * @param query   to search the collection with
     * @param filters {@link List} of fields to filter result with
     * @return {@link List} of {@link Document} matching the query
     *
     */
Find all documents matching  query with fields specified by  filters
@param query   to search the collection with
@param filters  List of fields to filter result with
@return  List of  Document matching the query
Find all documents matching query with fields specified by filters @param query to search the collection with @param filters List of fields to filter result with @return List of Document matching the query
public List<Document> filterFind(Bson query, String[] filters) {
        Document docFilter = parseDocumentFromList(filters);
        Bson withPermissionQuery = and(query, getMetadataDao().getHasReadQuery(username, this.accessibleOwners));
        Document order = (orderField == null) ? new Document() : new Document(orderField, orderDirection);
        getMetadataDao().setAccessibleOwners(this.accessibleOwners);
        return getMetadataDao().filterFind(withPermissionQuery, docFilter, offset, limit, order);
    }
public List < Document > filterFind ( Bson query , String [ ] filters ) { Document docFilter = parseDocumentFromList ( filters ) ; Bson withPermissionQuery = and ( query , getMetadataDao ( ) . getHasReadQuery ( username , this . accessibleOwners ) ) ; Document order = ( orderField == null ) ? new Document ( ) : new Document ( orderField , orderDirection ) ; getMetadataDao ( ) . setAccessibleOwners ( this . accessibleOwners ) ; return getMetadataDao ( ) . filterFind ( withPermissionQuery , docFilter , offset , limit , order ) ; }
Find all documents matching {@code query} with fields specified by {@code filters}
 @param query   to search the collection with
 @param filters {@link List} of fields to filter result with
 @return {@link List} of {@link Document} matching the query
Find all documents matching { @code query } with fields specified by { @code filters } @param query to search the collection with @param filters { @link List } of fields to filter result with @return { @link List } of { @link Document } matching the query