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

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

Introduction

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

Prototype

FindIterable<T> skip(int skip);

Source Link

Document

Sets the number of documents to skip.

Usage

From source file:io.vertx.ext.mongo.impl.MongoClientImpl.java

License:Open Source License

private FindIterable<JsonObject> doFind(String collection, WriteOption writeOption, JsonObject query,
        FindOptions options) {/* w  w w  .  j av  a2 s .co  m*/
    MongoCollection<JsonObject> coll = getCollection(collection, writeOption);
    Bson bquery = wrap(encodeKeyWhenUseObjectId(query));
    FindIterable<JsonObject> find = coll.find(bquery, JsonObject.class);
    if (options.getLimit() != -1) {
        find.limit(options.getLimit());
    }
    if (options.getSkip() > 0) {
        find.skip(options.getSkip());
    }
    if (options.getSort() != null) {
        find.sort(wrap(options.getSort()));
    }
    if (options.getFields() != null) {
        find.projection(wrap(options.getFields()));
    }
    return find;
}

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  va2s .  c  o 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()));
    }

    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.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.c o  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;
}