Example usage for com.mongodb.client.model FindOneAndReplaceOptions upsert

List of usage examples for com.mongodb.client.model FindOneAndReplaceOptions upsert

Introduction

In this page you can find the example usage for com.mongodb.client.model FindOneAndReplaceOptions upsert.

Prototype

boolean upsert

To view the source code for com.mongodb.client.model FindOneAndReplaceOptions upsert.

Click Source Link

Usage

From source file:com.cognitive.cds.invocation.mongo.EngineInfoDao.java

License:Apache License

public boolean updateEngineInstanceState(EngineInstanceState engineInstanceState)
        throws JsonProcessingException {
    mongoDbDao.setDatabase("engine");
    try {//from  w  w w.  j  a  v  a  2s. co m
        String json = mapper.writeValueAsString(engineInstanceState);
        logger.debug("=====> engineInstanceState json to write: " + json);
        Document filter = new Document();
        filter.put("name", engineInstanceState.getName());
        filter.put("type", engineInstanceState.getType());
        filter.put("host", engineInstanceState.getHost());
        filter.put("port", engineInstanceState.getPort());
        Document doc = Document.parse(json);
        FindOneAndReplaceOptions options = new FindOneAndReplaceOptions();
        options.upsert(true);
        doc.remove("_id");
        mongoDbDao.getCollection("instance").findOneAndReplace(filter, doc, options);
        logger.debug("=====> engineInstanceState " + doc.toJson());
        return true;

    } catch (Exception e) {
        logger.error(
                "=======> EngineInstanceState - Insert/Update Exception EngineInstanceState: " + e.toString());
        return false;
    }
}

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

License:Open Source License

@Override
public io.vertx.ext.mongo.MongoClient findOneAndReplaceWithOptions(String collection, JsonObject query,
        JsonObject replace, FindOptions findOptions, UpdateOptions updateOptions,
        Handler<AsyncResult<JsonObject>> resultHandler) {
    requireNonNull(collection, "collection cannot be null");
    requireNonNull(query, "query cannot be null");
    requireNonNull(findOptions, "find options cannot be null");
    requireNonNull(updateOptions, "update options cannot be null");
    requireNonNull(resultHandler, "resultHandler cannot be null");

    JsonObject encodedQuery = encodeKeyWhenUseObjectId(query);

    Bson bquery = wrap(encodedQuery);/*  w w w . ja va  2s .co  m*/
    FindOneAndReplaceOptions foarOptions = new FindOneAndReplaceOptions();
    foarOptions.sort(wrap(findOptions.getSort()));
    foarOptions.projection(wrap(findOptions.getFields()));
    foarOptions.upsert(updateOptions.isUpsert());
    foarOptions.returnDocument(
            updateOptions.isReturningNewDocument() ? ReturnDocument.AFTER : ReturnDocument.BEFORE);

    MongoCollection<JsonObject> coll = getCollection(collection);
    coll.findOneAndReplace(bquery, replace, foarOptions, wrapCallback(resultHandler));
    return this;
}

From source file:my.beesyn.MongoConn.java

public void insert_or_update(Identifier idf, MongoCollection coll) {
    Document dc;//from  w  w  w.  ja va  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);

}