List of usage examples for com.mongodb.async.client FindIterable filter
FindIterable<T> filter(@Nullable Bson filter);
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; }