Example usage for com.mongodb.async.client FindIterable filter

List of usage examples for com.mongodb.async.client FindIterable filter

Introduction

In this page you can find the example usage for com.mongodb.async.client FindIterable filter.

Prototype

FindIterable<T> filter(@Nullable Bson filter);

Source Link

Document

Sets the query filter to apply to the query.

Usage

From source file:com.mastfrog.asyncpromises.mongo.FindBuilderImpl.java

License:Open Source License

FindIterable<T> apply(FindIterable<T> iter) {
    if (batchSize > 0) {
        iter = iter.batchSize(batchSize);
    }//from  w w  w. j av  a  2s.co  m
    if (limit > 0) {
        iter = iter.limit(limit);
    }
    if (projection != null) {
        iter = iter.projection(projection);
    }
    if (cursorType != null) {
        iter = iter.cursorType(cursorType);
    }
    if (filter != null) {
        iter = iter.filter(filter);
    }
    if (modifiers != null) {
        iter = iter.modifiers(modifiers);
    }
    if (unit != null) {
        iter = iter.maxTime(maxTime, unit);
    }
    if (sort != null) {
        iter = iter.sort(sort);
    }
    return iter;
}

From source file:org.openo.commontosca.inventory.core.mongo.handler.data.MongoDataQueryRequestHandler.java

License:Apache License

private DeferredResponse<QueryResult> dealFindRequest(Query request, ValueMap model) {
    String modelName = request.getModel();
    String modelCollectionName = MongoUtils.getModelCollectionName(modelName);
    DeferredResponse<QueryResult> deferred = new DeferredResponse<>();

    FindIterable<Document> find = this.getDatabase(request).getCollection(modelCollectionName).find()
            .projection(MongoUtils.getProjectionForModel(model, request.getProjection()));
    Criteria filter = request.getFilter();
    if (filter != null) {
        CriteriaTypeVerifier verifier = new CriteriaTypeVerifier(filter.toValueMap(), model);
        find.filter(new Document(verifier.verify()));
    }//w w  w . j  a va 2 s . com
    if (request.getSkip() != null) {
        find.skip(request.getSkip());
    }
    if (request.getLimit() != null) {
        find.limit(request.getLimit());
    }
    if (request.getSort() != null) {
        find.sort(MongoUtils.getSortsFromMap(request.getSort()));
    }

    find.map(document -> ValueMap.wrap(document)).batchCursor((cursor, e) -> {
        if (e != null) {
            deferred.reject(e);
        } else if (cursor != null) {
            deferred.resolve(new MongoQueryResult(cursor));
        } else {
            deferred.resolve(new HeapQueryResult(Collections.emptyList()));
        }
    });
    return deferred;
}

From source file:org.openo.commontosca.inventory.core.mongo.handler.model.MongoModelQueryRequestHandler.java

License:Apache License

@Override
public SimpleDeferred<QueryResult> handle(Query request) {
    DeferredResponse<QueryResult> response = new DeferredResponse<>();
    FindIterable<Document> find = this.getDatabase(request).getCollection(Model.MODEL_DEFAULT_COLLECTION_NAME)
            .find();//from w w  w.j a va2 s .  c  om
    ValueMap filter = new ValueMap();
    if (request.getModelName() != null) {
        filter.put(ModelKey.NAME, request.getModelName());
    }
    find.filter(new Document(filter));
    find.map(document -> ValueMap.wrap(document)).batchCursor((cursor, ex) -> {
        if (ex != null) {
            response.reject(ex);
        } else if (cursor != null) {
            response.resolve(new MongoQueryResult(cursor));
        } else {
            response.resolve(new HeapQueryResult(Collections.emptyList()));
        }
    });
    return response;
}

From source file:org.openo.commontosca.inventory.core.mongo.handler.raw.MongoRawQueryRequestHandler.java

License:Apache License

@Override
public SimpleDeferred<QueryResult> handle(Query request) {
    DeferredResponse<QueryResult> response = new DeferredResponse<>();
    String collectionName = request.getCollection();
    FindIterable<Document> find = this.getDatabase(request).getCollection(collectionName).find();
    Criteria filter = request.getFilter();
    if (filter != null) {

        CriteriaTypeVerifier verifier = new CriteriaTypeVerifier(filter.toValueMap(),
                ValueMap.wrap(Collections.emptyMap()));
        find.filter(new Document(verifier.verify()));
    }//  w w w .  j  a  v a  2  s  .co  m
    if (request.getSkip() != null) {
        find.skip(request.getSkip());
    }
    if (request.getLimit() != null) {
        find.limit(request.getLimit());
    }
    if (request.getSort() != null) {
        find.sort(MongoUtils.getSortsFromMap(request.getSort()));
    }
    if (request.getProjection() != null) {
        find.projection(MongoUtils.getProjectionFromList(request.getProjection()));
    }
    find.map(document -> ValueMap.wrap(document)).batchCursor((cursor, e) -> {
        if (e != null) {
            response.reject(e);
        } else {
            response.resolve(new MongoQueryResult(cursor));
        }
    });
    return response;
}