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

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

Introduction

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

Prototype

public static <TItem> Bson eq(final String fieldName, @Nullable final TItem value) 

Source Link

Document

Creates a filter that matches all documents where the value of the field name equals the specified value.

Usage

From source file:module.script.TransferFromEpimedProd.java

License:Open Source License

@SuppressWarnings({ "unused", "unchecked" })
public TransferFromEpimedProd() {

    // ===== Session PostgreSQL =====
    SessionFactory sessionFactory = HibernateUtil
            .buildSessionFactory("config/epimed_semantic.hibernate.cfg.xml");
    Session session = sessionFactory.openSession();

    // ===== Session Mongo =====

    MongoClient mongoClient = MongoUtil.buildMongoClient();
    MongoDatabase db = mongoClient.getDatabase("epimed_experiments");

    MongoCollection<Document> collection = db.getCollection("samples");

    String sql = "select * from epimed_prod.view_exp_group order by main_gse_number, id_sample";
    List<Object> list = session.createSQLQuery(sql).setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP).list();

    String[] commonAttributes = { "pathology", "tnm_stage", "id_topology_group", "histology_subtype",
            "tissue_stage", "dead", "dfs_months", "age_max", "morphology", "id_tissue_stage", "topology", "sex",
            "age_min", "m", "topology_group", "n", "t", "collection_method", "id_morphology", "relapsed",
            "histology_type", "os_months", "id_topology" };

    List<ClPathology> listPathology = session.createCriteria(ClPathology.class).list();
    Map<String, ClPathology> mapPathology = new HashMap<String, ClPathology>();
    for (ClPathology p : listPathology) {
        mapPathology.put(p.getName(), p);
    }// w w w  .j a va2s  .com

    List<ClTissueStatus> listTissueStatus = session.createCriteria(ClTissueStatus.class).list();
    Map<Integer, ClTissueStatus> mapTissueStatus = new HashMap<Integer, ClTissueStatus>();
    for (ClTissueStatus t : listTissueStatus) {
        mapTissueStatus.put(t.getIdTissueStatus(), t);
    }

    System.out.println(listTissueStatus);

    for (Object item : list) {

        Map<String, Object> map = (HashMap<String, Object>) item;

        String gsmNumber = (String) map.get("id_sample");
        String gseNumber = (String) map.get("main_gse_number");

        System.out.println("-----------------------------");
        System.out.println(gseNumber + " " + gsmNumber);

        Document doc = collection.find(Filters.eq("_id", gsmNumber)).first();

        if (doc != null) {
            Document expGroup = (Document) doc.get("exp_group");
            for (int j = 0; j < commonAttributes.length; j++) {
                String attr = commonAttributes[j];
                expGroup.put(attr, map.get(attr));
            }

            // Treatment
            expGroup.put("treatment", map.get("treatment_type"));

            // Pathology
            String pathoString = (String) map.get("pathology");
            ClPathology pathology = mapPathology.get(pathoString);
            if (pathology != null) {
                expGroup.put("id_pathology", pathology.getIdPathology());
                expGroup.put("pathology", pathology.getName());
            }

            // Tissue status
            Integer idTissueStatus = (Integer) map.get("id_tissue_status");
            if (idTissueStatus != null && idTissueStatus > 3) {
                idTissueStatus = 3;
            }
            ClTissueStatus tissueStatus = mapTissueStatus.get(idTissueStatus);
            if (tissueStatus != null) {
                expGroup.put("id_tissue_status", tissueStatus.getIdTissueStatus());
                expGroup.put("tissue_status", tissueStatus.getName());
            }

            System.out.println("idTissueStatus=" + tissueStatus + ", pathology=" + pathology);
            System.out.println(expGroup);

            // Update Mongo document
            doc.put("exp_group", expGroup);
            doc.put("analyzed", true);
            UpdateResult updateResult = collection.updateOne(Filters.eq("_id", gsmNumber),
                    new Document("$set", doc));
        }

    }

    if (session.isOpen()) {
        session.close();
    }
    sessionFactory.close();

    mongoClient.close();
}

From source file:module.test.CustomExport.java

License:Open Source License

public CustomExport() {

    // ===== Connection =====

    MongoClient mongoClient = MongoUtil.buildMongoClient();
    MongoDatabase db = mongoClient.getDatabase("epimed_experiments");

    MongoCollection<Document> collection = db.getCollection("samples");

    // ===== Find exp_group in the database =====

    // === Query 1 ===
    /*/*from ww  w . j av  a 2 s .com*/
    String queryName = "breast_cancer_GPL570";
    List<Bson> filters = new ArrayList<Bson>();
    filters.add(Filters.eq("exp_group.id_platform", "GPL570"));
    filters.add(Filters.eq("exp_group.id_topology_group", "C50"));
    filters.add(Filters.eq("exp_group.id_tissue_status", 3)); // tumoral
     */

    // === Query 2 ===
    /*
    String queryName = "breast_normal_GPL570";
    List<Bson> filters = new ArrayList<Bson>();
    filters.add(Filters.eq("exp_group.id_platform", "GPL570"));
    filters.add(Filters.eq("exp_group.id_topology_group", "C50"));
    filters.add(Filters.eq("exp_group.id_tissue_status", 1)); // normal
    */

    // === Query 3 ===
    String queryName = "breast_cancer_with_survival_GPL570";
    List<Bson> filters = new ArrayList<Bson>();
    filters.add(Filters.eq("exp_group.id_platform", "GPL570"));
    filters.add(Filters.eq("exp_group.id_topology_group", "C50"));
    filters.add(Filters.eq("exp_group.id_tissue_status", 3)); // tumoral
    filters.add(Filters.or(Filters.ne("exp_group.os_months", null), Filters.ne("exp_group.dfss_months", null),
            Filters.ne("exp_group.relapsed", null), Filters.ne("exp_group.dead", null)));

    Bson filter = Filters.and(filters);
    Long nbSamples = collection.count(filter);
    List<String> listSeries = collection.distinct("exp_group.main_gse_number", filter, String.class)
            .into(new ArrayList<String>());
    queryName = queryName + "_" + nbSamples + "_samples_" + listSeries.size() + "_series";

    List<Document> docExpGroup = collection.find(filter)
            .projection(Projections.fields(Projections.include("exp_group"), Projections.excludeId()))
            .into(new ArrayList<Document>());

    List<Document> docParam = collection.find(filter)
            .projection(Projections.fields(Projections.include("parameters"), Projections.excludeId()))
            .into(new ArrayList<Document>());

    mongoClient.close();

    // ===== Load Exp Group into a matrix =====

    List<String> headerExpGroup = new ArrayList<String>();
    List<Object> dataExpGroup = new ArrayList<Object>();

    for (int i = 0; i < docExpGroup.size(); i++) {
        Map<String, String> expGroup = (Map<String, String>) docExpGroup.get(i).get("exp_group");
        if (i == 0) {
            headerExpGroup.addAll(expGroup.keySet());
        }

        Object[] dataLine = new Object[headerExpGroup.size()];
        for (int j = 0; j < headerExpGroup.size(); j++) {
            dataLine[j] = expGroup.get(headerExpGroup.get(j));
        }
        dataExpGroup.add(dataLine);
    }

    // ===== Load Params into a matrix =====

    Set<String> headerParamSet = new HashSet<String>();
    List<String> headerParam = new ArrayList<String>();
    List<Object> dataParam = new ArrayList<Object>();

    for (int i = 0; i < docParam.size(); i++) {
        Map<String, String> param = (Map<String, String>) docParam.get(i).get("parameters");
        headerParamSet.addAll(param.keySet());
    }
    headerParam.addAll(headerParamSet);
    Collections.sort(headerParam);

    for (int i = 0; i < docParam.size(); i++) {
        Map<String, String> param = (Map<String, String>) docParam.get(i).get("parameters");
        Object[] dataLine = new Object[headerParam.size()];
        for (int j = 0; j < headerParam.size(); j++) {
            dataLine[j] = param.get(headerParam.get(j));
        }
        // System.out.println(Arrays.toString(dataLine));
        dataParam.add(dataLine);

    }

    // === Output ===

    String fileName = this.getOutputDirectory() + this.getDirSeparator() + "EpiMed_database_" + queryName + "_"
            + dateFormat.format(new Date()) + ".xlsx";
    System.out.println(fileName);
    XSSFWorkbook workbook = fileService.createWorkbook();
    fileService.addSheet(workbook, "exp_group_" + dateFormat.format(new Date()), headerExpGroup, dataExpGroup);
    fileService.addSheet(workbook, "parameters_" + dateFormat.format(new Date()), headerParam, dataParam);
    fileService.writeWorkbook(workbook, fileName);

}

From source file:module.test.SearchPlatforms.java

License:Open Source License

public SearchPlatforms() {

    // ===== Connection =====

    MongoClient mongoClient = MongoUtil.buildMongoClient();
    MongoDatabase db = mongoClient.getDatabase("epimed_experiments");
    MongoCollection<Document> collectionSamples = db.getCollection("sample");
    MongoCollection<Document> collectionPlatforms = db.getCollection("platform");

    List<Document> list = collectionSamples
            .aggregate(Arrays.asList(Aggregates.group("$exp_group.id_platform", Accumulators.sum("total", 1)),
                    Aggregates.sort(Sorts.orderBy(Sorts.descending("total")))))
            .into(new ArrayList<Document>());

    for (int i = 0; i < list.size(); i++) {
        System.out.println((i + 1) + " " + list.get(i));
    }//from  w w  w .  ja  v a 2s. c o  m

    // collectionPlatforms.find(Filters.regex("title", ".*ethyl.*")).forEach(printBlock);
    collectionPlatforms.find(Filters.eq("id_organism", "9606")).forEach(printBlock);

    mongoClient.close();

}

From source file:module.test.SearchSamples.java

License:Open Source License

public SearchSamples() {

    // ===== Connection =====

    MongoClient mongoClient = MongoUtil.buildMongoClient();
    MongoDatabase db = mongoClient.getDatabase("epimed_experiments");
    MongoCollection<Document> collectionSamples = db.getCollection("samples");

    List<Document> list = collectionSamples.find(Filters.and(Filters.eq("exp_group.id_tissue_stage", 4),
            Filters.ne("exp_group.main_gse_number", "GSE30654"))).into(new ArrayList<Document>());

    for (Document document : list) {
        System.out.println(document);
    }/*from  w ww .  j  av a  2s  . c  o m*/

    mongoClient.close();

}

From source file:module.UpdateNumberSamples.java

License:Open Source License

public UpdateNumberSamples() {

    // ===== Connection =====

    MongoClient mongoClient = MongoUtil.buildMongoClient();
    MongoDatabase db = mongoClient.getDatabase("epimed_experiments");

    MongoCollection<Document> collectionSeries = db.getCollection("series");
    MongoCollection<Document> collectionSamples = db.getCollection("sample");

    // String [] listIdSeries = {"TISSUE_SPECIFIC_GENES_MM"};
    // List<Document> listSeries = collectionSeries.find(Filters.in("_id", listIdSeries)).into(new ArrayList<Document>());

    List<Document> listSeries = collectionSeries.find().into(new ArrayList<Document>());

    for (Document ser : listSeries) {
        System.out.println(ser);/*from ww w.ja  va  2 s  .c o  m*/

        String idSeries = ser.getString("_id");
        Bson filter = Filters.in("series", idSeries);

        Long nbSamples = collectionSamples.count(filter);

        System.out.println(idSeries + " " + nbSamples);

        ser.append("nb_samples", nbSamples);
        collectionSeries.updateOne(Filters.eq("_id", idSeries), new Document("$set", ser));

    }

    mongoClient.close();

}

From source file:module.UpdatePlatformType.java

License:Open Source License

public UpdatePlatformType() {

    // ===== Connection =====

    MongoClient mongoClient = MongoUtil.buildMongoClient();
    MongoDatabase db = mongoClient.getDatabase("epimed_experiments");
    MongoCollection<Document> collectionPlatforms = db.getCollection("platform");
    MongoCollection<Document> collectionSeries = db.getCollection("series");

    // ===== Platforms =====

    Bson filters = Filters.eq("type", "unknown");
    List<Document> listPlatforms = collectionPlatforms.find(filters).into(new ArrayList<Document>());

    for (Document platform : listPlatforms) {
        System.out.println("--------------------------------------------------------------");

        String idPlatform = platform.getString("_id");
        System.out.println(platform);
        List<Document> listSeries = collectionSeries.find(Filters.in("platforms", idPlatform))
                .into(new ArrayList<Document>());
        for (Document series : listSeries) {
            System.out.println(" \t -> " + series.getString("_id") + " " + series.getString("title"));
        }/* ww w.  ja va  2  s. c  o m*/

        // platform.append("type", "expression array");
        // collectionPlatforms.updateOne(Filters.eq("_id", idPlatform), new Document("$set", platform));

    }

    mongoClient.close();
}

From source file:module.UpdateTissueStatus.java

License:Open Source License

public UpdateTissueStatus() {

    // ===== Connection =====

    MongoClient mongoClient = MongoUtil.buildMongoClient();
    MongoDatabase db = mongoClient.getDatabase("epimed_experiments");
    MongoCollection<Document> collectionSample = db.getCollection("sample");

    List<Document> samples = collectionSample.find().into(new ArrayList<Document>());
    ;/*from  ww w . ja v  a 2 s . co  m*/

    for (Document sample : samples) {

        Document expgroup = sample.get("exp_group", Document.class);
        Integer idTissueStatus = expgroup.getInteger("id_tissue_status");
        if (idTissueStatus != null) {
            if (idTissueStatus.equals(1)) {
                expgroup.put("tissue_status", "normal");
            }
            if (idTissueStatus.equals(2)) {
                expgroup.put("tissue_status", "pathological_non_tumoral");
            }
            if (idTissueStatus.equals(3)) {
                expgroup.put("tissue_status", "tumoral");
            }

            sample.put("exp_group", expgroup);

            System.out.println(sample.get("exp_group", Document.class));

            collectionSample.updateOne(Filters.eq("_id", sample.getString("_id")),
                    new Document("$set", sample));

        }

    }

    mongoClient.close();

}

From source file:mongodb.clients.percunia.mongo.Restriction.java

License:Apache License

public static <T> Bson eq(String field, T value) {
    return Filters.eq(field, value);
}

From source file:mongodbmanipulation.UserInterface.java

private void jButtonAddColumnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAddColumnActionPerformed
    // TODO add your handling code here:
    String colName = JOptionPane.showInputDialog(this, "Enter New Column Name:", "New Column Info",
            QUESTION_MESSAGE);// w  w w  .  j av a  2  s  . c om
    if (colName == null) {
        return;
    }
    String idName = JOptionPane.showInputDialog(this,
            "Enter _id of the document in which you want to add this column:", "New Column Info",
            QUESTION_MESSAGE);
    if (colName == null) {
        return;
    }
    String value = JOptionPane.showInputDialog(this, "Enter the value of _id = " + idName + ":",
            "New Column Info", QUESTION_MESSAGE);
    if (colName == null) {
        return;
    }
    columnUpdating = true;
    Document where = new Document("_id", new ObjectId(idName));
    Document what = new Document("$set", new Document((String) colName, value));
    collections.updateOne(Filters.eq("_id", where.get("_id")), what);
    refreshTable();
    columnUpdating = false;
}

From source file:my.beesyn.MongoConn.java

public void insert_or_update(Identifier idf, MongoCollection coll) {
    Document dc;// ww  w . j  a  v a 2s  . c o  m
    FindOneAndReplaceOptions op = new FindOneAndReplaceOptions();
    op.upsert(true);

    dc = Document.parse(idf.get_fetched());
    dc.append("u_id", idf.get_id());
    dc.append("chsum", dc.hashCode());
    coll.findOneAndReplace(Filters.and(Filters.eq("u_id", idf.get_id()), Filters.ne("chsum", idf.get_chk())),
            dc, op);

}