Example usage for com.mongodb.client.model Filters gte

List of usage examples for com.mongodb.client.model Filters gte

Introduction

In this page you can find the example usage for com.mongodb.client.model Filters gte.

Prototype

public static <TItem> Bson gte(final String fieldName, final TItem value) 

Source Link

Document

Creates a filter that matches all documents where the value of the given field is greater than or equal to the specified value.

Usage

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*/
}