List of usage examples for com.mongodb.client.model Filters gte
public static <TItem> Bson gte(final String fieldName, final TItem value)
From source file:io.lumeer.storage.mongodb.dao.collection.MongoDataDao.java
License:Open Source License
private Bson attributeFilter(AttributeFilter filter) { switch (filter.getConditionType()) { case EQUALS:// w w w. java 2s .c om return Filters.eq(filter.getAttributeName(), filter.getValue()); case NOT_EQUALS: return Filters.ne(filter.getAttributeName(), filter.getValue()); case LOWER_THAN: return Filters.lt(filter.getAttributeName(), filter.getValue()); case LOWER_THAN_EQUALS: return Filters.lte(filter.getAttributeName(), filter.getValue()); case GREATER_THAN: return Filters.gt(filter.getAttributeName(), filter.getValue()); case GREATER_THAN_EQUALS: return Filters.gte(filter.getAttributeName(), filter.getValue()); } return null; }
From source file:io.lumeer.storage.mongodb.util.MongoFilters.java
License:Open Source License
public static Bson paymentValidUntilFilter(final Date date) { return Filters.gte(Payment.VALID_UNTIL, date); }
From source file:io.sip3.tapir.twig.mongo.query.Query.java
License:Apache License
default Bson between() { return Filters.and(Filters.gte("millis", millis()[0]), Filters.lte("millis", millis()[1])); }
From source file:mongodb.clients.percunia.mongo.Restriction.java
License:Apache License
public static <T> Bson gte(String field, T value) { return Filters.gte(field, value); }
From source file:org.eclipse.ditto.services.thingsearch.persistence.read.criteria.visitors.CreateBsonPredicateVisitor.java
License:Open Source License
@Override public Function<String, Bson> visitGe(final Object value) { return fieldName -> Filters.gte(fieldName, value); }
From source file:org.jnosql.diana.mongodb.document.DocumentQueryConversor.java
License:Open Source License
public static Bson convert(DocumentCondition condition) { Document document = condition.getDocument(); Object value = document.getValue().get(); switch (condition.getCondition()) { case EQUALS:/*from w w w. j a va2 s . c o m*/ return Filters.eq(document.getName(), value); case GREATER_THAN: return Filters.gt(document.getName(), value); case GREATER_EQUALS_THAN: return Filters.gte(document.getName(), value); case LESSER_THAN: return Filters.lt(document.getName(), value); case LESSER_EQUALS_THAN: return Filters.lte(document.getName(), value); case IN: return Filters.in(document.getName(), value); case LIKE: return Filters.regex(document.getName(), value.toString()); case AND: List<Document> andList = condition.getDocument().getValue().get(new TypeReference<List<Document>>() { }); return Filters.and(andList.stream().map(d -> new BasicDBObject(d.getName(), d.getValue().get())) .toArray(BasicDBObject[]::new)); case OR: List<Document> orList = condition.getDocument().getValue().get(new TypeReference<List<Document>>() { }); return Filters.or(orList.stream().map(d -> new BasicDBObject(d.getName(), d.getValue().get())) .toArray(BasicDBObject[]::new)); default: throw new UnsupportedOperationException( "The condition " + condition.getCondition() + " is not supported from mongoDB diana driver"); } }
From source file:org.opencb.cellbase.lib.impl.GeneMongoDBAdaptor.java
License:Apache License
@Override public QueryResult getRegulatoryElements(Query query, QueryOptions queryOptions) { Bson bson = parseQuery(query);//w w w . java2s .co m QueryResult<Document> queryResult = null; QueryResult<Document> gene = mongoDBCollection.find(bson, new QueryOptions(MongoDBCollection.INCLUDE, "chromosome,start,end")); if (gene != null) { MongoDBCollection regulatoryRegionCollection = mongoDataStore.getCollection("regulatory_region"); for (Document document : gene.getResult()) { // String region = document.getString("chromosome") + ":" // + document.getInteger("start", 1) + "-" + document.getInteger("end", Integer.MAX_VALUE); // query.put(RegulationDBAdaptor.QueryParams.REGION.key(), region); Bson eq = Filters.eq("chromosome", document.getString("chromosome")); Bson lte = Filters.lte("start", document.getInteger("end", Integer.MAX_VALUE)); Bson gte = Filters.gte("end", document.getInteger("start", 1)); queryResult = regulatoryRegionCollection.find(Filters.and(eq, lte, gte), queryOptions); } } return queryResult; }
From source file:org.opencb.cellbase.lib.impl.MongoDBAdaptor.java
License:Apache License
protected void createRegionQuery(Query query, String queryParam, List<Bson> andBsonList) { if (query != null && query.getString(queryParam) != null && !query.getString(queryParam).isEmpty()) { List<Region> regions = Region.parseRegions(query.getString(queryParam)); if (regions != null && regions.size() > 0) { // if there is only one region we add the AND filter directly to the andBsonList passed if (regions.size() == 1) { Bson chromosome = Filters.eq("chromosome", regions.get(0).getChromosome()); Bson start = Filters.lte("start", regions.get(0).getEnd()); Bson end = Filters.gte("end", regions.get(0).getStart()); andBsonList.add(Filters.and(chromosome, start, end)); } else { // when multiple regions then we create and OR list before add it to andBsonList List<Bson> orRegionBsonList = new ArrayList<>(regions.size()); for (Region region : regions) { Bson chromosome = Filters.eq("chromosome", region.getChromosome()); Bson start = Filters.lte("start", region.getEnd()); Bson end = Filters.gte("end", region.getStart()); orRegionBsonList.add(Filters.and(chromosome, start, end)); }//from ww w . ja v a 2s . com andBsonList.add(Filters.or(orRegionBsonList)); } } else { logger.warn("Region query no created, region object is null or empty."); } } }
From source file:org.opencb.cellbase.lib.impl.MongoDBAdaptor.java
License:Apache License
private Bson createChunkQuery(Region region, int chunkSize) { int startChunkId = getChunkId(region.getStart(), chunkSize); int endChunkId = getChunkId(region.getEnd(), chunkSize); List<String> chunkIds = new ArrayList<>(endChunkId - startChunkId + 1); for (int chunkId = startChunkId; chunkId <= endChunkId; chunkId++) { chunkIds.add(region.getChromosome() + "_" + chunkId + "_" + chunkSize / 1000 + "k"); }/*from ww w . ja va 2s .c om*/ Bson chunk = Filters.in("_chunkIds", chunkIds); Bson start = Filters.lte("start", region.getEnd()); Bson end = Filters.gte("end", region.getStart()); return Filters.and(chunk, start, end); // // We only use chunks if region queried belongs to a single chunk // if (startChunkId == endChunkId) { // logger.info("Querying by chunkId, {}, {}", startChunkId, endChunkId); // Bson chunk = Filters.eq("_chunkIds", getChunkIdPrefix(region.getChromosomeInfo(), region.getStart(), chunkSize)); // Bson start = Filters.lte("start", region.getEnd()); // Bson end = Filters.gte("end", region.getStart()); // return Filters.and(chunk, start, end); // } else { // Bson chromosome = Filters.eq("chromosome", region.getChromosomeInfo()); // Bson start = Filters.lte("start", region.getEnd()); // Bson end = Filters.gte("end", region.getStart()); // return Filters.and(chromosome, start, end); // } }
From source file:org.opencb.cellbase.lib.impl.VariantMongoDBAdaptor.java
License:Apache License
private void createImprecisePositionQuery(Query query, String leftQueryParam, String rightQueryParam, String leftLimitMongoField, String righLimitMongoField, List<Bson> andBsonList) { if (query != null && query.getString(leftQueryParam) != null && !query.getString(leftQueryParam).isEmpty() && query.getString(rightQueryParam) != null && !query.getString(rightQueryParam).isEmpty()) { int leftQueryValue = query.getInt(leftQueryParam); int rightQueryValue = query.getInt(rightQueryParam); andBsonList.add(Filters.lte(leftLimitMongoField, rightQueryValue)); andBsonList.add(Filters.gte(righLimitMongoField, leftQueryValue)); }/* w w w .ja v a 2 s. c om*/ }