Java 类com.mongodb.client.model.UpdateOptions 实例源码

项目:GitHub    文件:Repositories.java   
protected final FluentFuture<Integer> doUpdate(
        final Constraints.ConstraintHost criteria,
        final Constraints.Constraint update,
        final UpdateOptions options) {

  checkNotNull(criteria, "criteria");
  checkNotNull(update, "update");
  checkNotNull(options, "options");

  return submit(new Callable<UpdateResult>() {
    @Override
    public UpdateResult call() {
      return collection()
          .updateMany(
          convertToBson(criteria),
          convertToBson(update),
          options);
    }
  }).lazyTransform(new Function<UpdateResult, Integer>() {
    @Override
    public Integer apply(UpdateResult input) {
      return (int) input.getModifiedCount();
    }
  });
}
项目:GitHub    文件:Repositories.java   
protected final FluentFuture<Integer> doUpsert(
    final Constraints.ConstraintHost criteria,
    final T document) {
  checkNotNull(criteria, "criteria");
  checkNotNull(document, "document");
  return submit(new Callable<Integer>() {
    @Override
    public Integer call() {
      collection().replaceOne(convertToBson(criteria), document, new UpdateOptions().upsert(true));
      // upsert will always return 1:
      // if document doesn't exists, it will be inserted (modCount == 1)
      // if document exists, it will be updated (modCount == 1)

      return 1;
    }
  });
}
项目:otus-api    文件:ActivityConfigurationDaoBean.java   
@Override
public ActivityCategory update(ActivityCategory activityCategory) throws DataNotFoundException {
    BasicDBObject query = new BasicDBObject();
    query.put("objectType", "ActivityCategory");
    query.put("name", activityCategory.getName());

    UpdateResult updateResult = collection.updateOne(query,
            new Document("$set", new Document("label",activityCategory.getLabel())), new UpdateOptions().upsert(false));

    if (updateResult.getMatchedCount() == 0){
        throw new DataNotFoundException(
                new Throwable("ActivityCategory {" + activityCategory.getName() + "} not found."));
    }

    return activityCategory;
}
项目:otus-api    文件:ActivityConfigurationDaoBean.java   
@Override
public void setNewDefault(String name) throws DataNotFoundException {
    BasicDBObject query = new BasicDBObject();
    query.put("objectType", "ActivityCategory");
    query.put("isDefault", true);
    UpdateResult undefaultResult = collection.updateOne(query, new Document("$set", new Document("isDefault", false)), new UpdateOptions().upsert(false));

    if (undefaultResult.getMatchedCount() > 1){
        throw new DataNotFoundException(
                new Throwable("Default category error. More than one default found"));
    }

    BasicDBObject otherQuery = new BasicDBObject();
    otherQuery.put("objectType", "ActivityCategory");
    otherQuery.put("name", name);
    UpdateResult defaultSetResult = collection.updateOne(otherQuery, new Document("$set", new Document("isDefault", true)), new UpdateOptions().upsert(false));

    if (defaultSetResult.getMatchedCount() == 0){
        throw new DataNotFoundException(
                new Throwable("ActivityCategory {" + name + "} not found."));
    }

}
项目:otus-api    文件:ParticipantLaboratoryDaoBean.java   
@Override
public Tube updateTubeCollectionData(long rn,Tube tube) throws DataNotFoundException {
    Document parsedCollectionData = Document.parse(TubeCollectionData.serialize(tube.getTubeCollectionData()));

    UpdateResult updateLabData = collection.updateOne(and(eq("recruitmentNumber", rn),
                                                            eq("tubes.code",tube.getCode())),
                                                        set("tubes.$.tubeCollectionData", parsedCollectionData),
                                                        new UpdateOptions().upsert(false));

    if (updateLabData.getMatchedCount() == 0) {
        throw new DataNotFoundException(new Throwable("Laboratory of Participant recruitment number: " + rn
                + " does not exists."));
    }

    return tube;
}
项目:ibm-performance-monitor    文件:ProfiledMongoCollection.java   
@Override
public UpdateResult updateMany(Bson filter, Bson arg1, UpdateOptions arg2)
{
    int writeSize = 0;
    OperationMetric metric = null;
    if (MongoLogger.GATHERER.isEnabled())
    {
        List<String> keyValuePairs = MongoUtilities.getKeyValuePairs(filter);
        keyValuePairs.add("update");
        keyValuePairs.add(arg1.toString());
        String operationName = "Mongo : " + getNamespace().getCollectionName() + " : updateMany : " +
            MongoUtilities.filterParameters(filter);
        metric = startMetric(operationName, keyValuePairs);
        addWriteConcern(metric);
    }

    UpdateResult retVal = collection.updateMany(filter, arg1, arg2);

    insertUpdateResultProperties(metric, retVal);

    stopMetric(metric, writeSize);

    return retVal;
}
项目:ibm-performance-monitor    文件:ProfiledMongoCollection.java   
@Override
public UpdateResult updateOne(Bson filter, Bson arg1, UpdateOptions arg2)
{
    int writeSize = 0;
    OperationMetric metric = null;
    if (MongoLogger.GATHERER.isEnabled())
    {
        List<String> keyValuePairs = MongoUtilities.getKeyValuePairs(filter);
        keyValuePairs.add("update");
        keyValuePairs.add(arg1.toString());
        String operationName = "Mongo : " + getNamespace().getCollectionName() + " : updateOne : " +
            MongoUtilities.filterParameters(filter);
        metric = startMetric(operationName, keyValuePairs);
        addWriteConcern(metric);
    }

    UpdateResult retVal = collection.updateOne(filter, arg1, arg2);

    insertUpdateResultProperties(metric, retVal);

    stopMetric(metric, writeSize);

    return retVal;
}
项目:EDDI    文件:ConversationMemoryStore.java   
@Override
public String storeConversationMemorySnapshot(ConversationMemorySnapshot snapshot) throws IResourceStore.ResourceStoreException {
    try {
        String json = documentBuilder.toString(snapshot);
        Document document = Document.parse(json);

        document.remove("id");

        if (snapshot.getId() != null) {
            document.put("_id", new ObjectId(snapshot.getId()));
            conversationCollection.updateOne(new Document("_id", new ObjectId(snapshot.getId())),
                    new Document("$set", document),
                    new UpdateOptions().upsert(true));
        } else {
            conversationCollection.insertOne(document);
        }

        return document.get("_id").toString();
    } catch (IOException e) {
        throw new IResourceStore.ResourceStoreException(e.getLocalizedMessage(), e);
    }
}
项目:Camel    文件:MongoDbProducer.java   
private Function<Exchange, Object> createDoSave() {
    return exchange1 -> {
        try {
            MongoCollection<BasicDBObject> dbCol = calculateCollection(exchange1);
            BasicDBObject saveObj = exchange1.getIn().getMandatoryBody(BasicDBObject.class);

            UpdateOptions options = new UpdateOptions().upsert(true);
            BasicDBObject queryObject = new BasicDBObject("_id", saveObj.get("_id"));
            UpdateResult result = dbCol.replaceOne(queryObject, saveObj, options);
            exchange1.getIn().setHeader(MongoDbConstants.OID, saveObj.get("_id"));
            return result;
        } catch (InvalidPayloadException e) {
            throw new CamelMongoDbException("Body incorrect type for save", e);
        }
    };
}
项目:core-ng-project    文件:MongoCollectionImpl.java   
@Override
public void replace(T entity) {
    StopWatch watch = new StopWatch();
    Object id = null;
    validator.validate(entity);
    try {
        id = mongo.codecs.id(entity);
        if (id == null) throw Exceptions.error("entity must have id, entityClass={}", entityClass.getCanonicalName());
        collection().replaceOne(Filters.eq("_id", id), entity, new UpdateOptions().upsert(true));
    } finally {
        long elapsedTime = watch.elapsedTime();
        ActionLogContext.track("mongoDB", elapsedTime, 0, 1);
        logger.debug("replace, collection={}, id={}, elapsedTime={}", collectionName, id, elapsedTime);
        checkSlowOperation(elapsedTime);
    }
}
项目:openbd-core    文件:SessionStorageMongoImpl.java   
/**
 * Need to page the session out to Mongo
 * @param session
 */
public void onRequestEnd(cfSession Session) {
    cfSessionData   sessData    = getSessionData( Session );
    if ( sessData == null )
        return;

    try{
        Document    keys    = new Document("_id", appName + sessData.getStorageID() );
        Document    vals    = new Document("et", new Date(System.currentTimeMillis() + sessData.getTimeOut() ) );

        // Serialize the object
        ByteArrayOutputStreamRaw    bos = new ByteArrayOutputStreamRaw( 32000 );
        FileUtil.saveClass(bos, sessData, true);

        byte[]  buf = bos.toByteArray();

        // Has it really changed; we only update the last used date if it has
        if ( !MD5.getDigest(buf).equals( sessData.getMD5() ) )
            vals.append("d", buf);

        col.updateOne( keys, new Document("$set", vals), new UpdateOptions().upsert(true) );

    }catch(Exception e){
        cfEngine.log( appName + "MongoDBException: " + e );
    }
}
项目:epcis    文件:ChronoElement.java   
/**
 * Un-assigns a key/value property from the element. The object value of the
 * removed property is returned.
 *
 * @param key
 *            the key of the property to remove from the element
 * @return the object value associated with that key prior to removal. Should be
 *         instance of BsonValue
 */
@Override
public <T> T removeProperty(final String key) {
    try {
        BsonValue value = getProperty(key);
        BsonDocument filter = new BsonDocument();
        filter.put(Tokens.ID, new BsonString(this.id));
        BsonDocument update = new BsonDocument();
        update.put("$unset", new BsonDocument(key, new BsonNull()));
        if (this instanceof ChronoVertex) {
            graph.getVertexCollection().updateOne(filter, update, new UpdateOptions().upsert(true));
            return (T) value;
        } else {
            graph.getEdgeCollection().updateOne(filter, update, new UpdateOptions().upsert(true));
            return (T) value;
        }
    } catch (MongoWriteException e) {
        throw e;
    }
}
项目:fiware-cygnus    文件:MongoBackendImpl.java   
private void insertContextDataAggregatedForResoultion(String dbName, String collectionName,
        GregorianCalendar calendar, String entityId, String entityType, String attrName, String attrType,
        double max, double min, double sum, double sum2, int numSamples, Resolution resolution) {
    // Get database and collection
    MongoDatabase db = getDatabase(dbName);
    MongoCollection collection = db.getCollection(collectionName);

    // Build the query
    BasicDBObject query = buildQueryForInsertAggregated(calendar, entityId, entityType, attrName, resolution);

    // Prepopulate if needed
    BasicDBObject insert = buildInsertForPrepopulate(attrType, resolution, true);
    UpdateResult res = collection.updateOne(query, insert, new UpdateOptions().upsert(true));

    if (res.getMatchedCount() == 0) {
        LOGGER.debug("Prepopulating data, database=" + dbName + ", collection=" + collectionName + ", query="
                + query.toString() + ", insert=" + insert.toString());
    } // if

    // Do the update
    BasicDBObject update = buildUpdateForUpdate(attrType, calendar, max, min, sum, sum2, numSamples);
    LOGGER.debug("Updating data, database=" + dbName + ", collection=" + collectionName + ", query="
            + query.toString() + ", update=" + update.toString());
    collection.updateOne(query, update);
}
项目:lumongo    文件:MongoFile.java   
public static void storeBlock(MongoBlock mongoBlock) {
    // System.out.println("Store: " + mongoBlock.getBlockNumber());

    MongoCollection<Document> c = mongoBlock.mongoFile.mongoDirectory.getBlocksCollection();

    Document query = new Document();
    query.put(MongoDirectory.FILE_NUMBER, mongoBlock.mongoFile.fileNumber);
    query.put(MongoDirectory.BLOCK_NUMBER, mongoBlock.blockNumber);

    Document object = new Document();
    object.put(MongoDirectory.FILE_NUMBER, mongoBlock.mongoFile.fileNumber);
    object.put(MongoDirectory.BLOCK_NUMBER, mongoBlock.blockNumber);
    object.put(MongoDirectory.BYTES, new Binary(mongoBlock.bytes));

    c.replaceOne(query, object, new UpdateOptions().upsert(true));

}
项目:lumongo    文件:LumongoIndex.java   
private void storeIndexSettings() {
    indexLock.writeLock().lock();
    try {
        MongoDatabase db = mongo.getDatabase(mongoConfig.getDatabaseName());
        MongoCollection<Document> dbCollection = db.getCollection(indexConfig.getIndexName() + CONFIG_SUFFIX);
        Document settings = IndexConfigUtil.toDocument(indexConfig);
        settings.put(MongoConstants.StandardFields._ID, SETTINGS_ID);

        Document query = new Document();
        query.put(MongoConstants.StandardFields._ID, SETTINGS_ID);

        dbCollection.replaceOne(query, settings, new UpdateOptions().upsert(true));
    }
    finally {
        indexLock.writeLock().unlock();
    }

}
项目:lumongo    文件:MongoDocumentStorage.java   
@Override
public void storeSourceDocument(String uniqueId, long timeStamp, Document document, List<Metadata> metaDataList) throws Exception {
    MongoDatabase db = mongoClient.getDatabase(database);
    MongoCollection<Document> coll = db.getCollection(rawCollectionName);
    Document mongoDocument = new Document();
    mongoDocument.putAll(document);

    if (!metaDataList.isEmpty()) {
        Document metadataMongoDoc = new Document();
        for (Metadata meta : metaDataList) {
            metadataMongoDoc.put(meta.getKey(), meta.getValue());
        }
        mongoDocument.put(METADATA, metadataMongoDoc);
    }

    mongoDocument.put(TIMESTAMP, timeStamp);
    mongoDocument.put(MongoConstants.StandardFields._ID, uniqueId);

    Document query = new Document(MongoConstants.StandardFields._ID, uniqueId);

    coll.replaceOne(query, mongoDocument, new UpdateOptions().upsert(true));
}
项目:jooby    文件:MongoSessionStore.java   
@Override
public void save(final Session session) {
  syncTtl();

  String id = session.id();
  Bson filter = Filters.eq("_id", id);

  Document doc = new Document()
      .append("_id", id)
      .append("_accessedAt", new Date(session.accessedAt()))
      .append("_createdAt", new Date(session.createdAt()))
      .append("_savedAt", new Date(session.savedAt()));
  // dump attributes
  Map<String, String> attributes = session.attributes();
  attributes.forEach((k, v) -> doc.append(encode(k), v));

  sessions.updateOne(filter, new Document("$set", doc), new UpdateOptions().upsert(true));
}
项目:cherimodata    文件:EntityInvocationHandler.java   
/**
 * stores the given EntityInvocationHandler represented Entity in the given Collection
 *
 * @param handler EntityInvocationHandler (Entity) to save
 * @param coll MongoCollection to save entity into
 */
@SuppressWarnings( "unchecked" )
static <T extends Entity> void save( EntityInvocationHandler handler, MongoCollection<T> coll )
{
    for ( ParameterProperty cpp : handler.properties.getValidationProperties() )
    {
        cpp.validate( handler.data.get( cpp.getMongoName() ) );
    }
    BsonDocumentWrapper wrapper = new BsonDocumentWrapper<>( handler.proxy,
        (org.bson.codecs.Encoder<Entity>) coll.getCodecRegistry().get( handler.properties.getEntityClass() ) );
    UpdateResult res = coll.updateOne(
        new BsonDocument( "_id",
            BsonDocumentWrapper.asBsonDocument( EntityCodec._obtainId( handler.proxy ), idRegistry ) ),
        new BsonDocument( "$set", wrapper ), new UpdateOptions() );
    if ( res.getMatchedCount() == 0 )
    {
        // TODO this seems too nasty, there must be a better way.for now live with it
        coll.insertOne( (T) handler.proxy );
    }
    handler.persist();
}
项目:immutables    文件:Repositories.java   
protected final FluentFuture<Integer> doUpdate(
        final Constraints.ConstraintHost criteria,
        final Constraints.Constraint update,
        final UpdateOptions options) {

  checkNotNull(criteria, "criteria");
  checkNotNull(update, "update");
  checkNotNull(options, "options");

  return submit(new Callable<UpdateResult>() {
    @Override
    public UpdateResult call() {
      return collection()
          .updateMany(
          convertToBson(criteria),
          convertToBson(update),
          options);
    }
  }).lazyTransform(new Function<UpdateResult, Integer>() {
    @Override
    public Integer apply(UpdateResult input) {
      return (int) input.getModifiedCount();
    }
  });
}
项目:immutables    文件:Repositories.java   
protected final FluentFuture<Integer> doUpsert(
    final Constraints.ConstraintHost criteria,
    final T document) {
  checkNotNull(criteria, "criteria");
  checkNotNull(document, "document");
  return submit(new Callable<Integer>() {
    @Override
    public Integer call() {
      collection().replaceOne(convertToBson(criteria), document, new UpdateOptions().upsert(true));
      // upsert will always return 1:
      // if document doesn't exists, it will be inserted (modCount == 1)
      // if document exists, it will be updated (modCount == 1)

      return 1;
    }
  });
}
项目:StickyChunk    文件:MongodbDatabase.java   
public void saveRegionData(LoadedRegion loadedRegion) {
    MongoCollection<Document> collection = getDatabase().getCollection("chunks");

    Document regionDocument = new Document("_id", loadedRegion.getUniqueId().toString())
            .append("owner", loadedRegion.getOwner().toString())
            .append("world", loadedRegion.getWorld().getUniqueId().toString())
            .append("type", loadedRegion.getType().toString())
            .append("fromX", loadedRegion.getRegion().getFrom().getX())
            .append("fromZ", loadedRegion.getRegion().getFrom().getZ())
            .append("toX", loadedRegion.getRegion().getTo().getX())
            .append("toZ", loadedRegion.getRegion().getTo().getZ())
            .append("created", loadedRegion.getEpoch());

    collection.replaceOne(
            Filters.eq("_id", loadedRegion.getUniqueId().toString()),
            regionDocument,
            (new UpdateOptions()).upsert(true)
    );
}
项目:StickyChunk    文件:MongodbDatabase.java   
public void saveUserData(UserData userData) {
    MongoCollection<Document> collection = getDatabase().getCollection("users");

    Document userDocument = new Document("_id", userData.getUniqueId())
            .append("seen", userData.getLastSeen())
            .append("joined", userData.getUserJoined());

    collection.replaceOne(
            Filters.eq("_id", userData.getUniqueId().toString()),
            userDocument,
            (new UpdateOptions()).upsert(true)
    );
}
项目:MongoSyphon    文件:MongoBulkWriter.java   
public void Save(Document doc) {
    if (!doc.containsKey("_id")) {
        Create(doc);
        return;
    }
    Document find = new Document("_id", doc.get("_id"));
    UpdateOptions uo = new UpdateOptions();
    uo.upsert(true);
    ops.add(new ReplaceOneModel<Document>(find, doc, uo));
    FlushOpsIfFull();
}
项目:twitter-stuff    文件:StatusUtils.java   
public static void saveFailureStatusProcesssed(MongoDatabase mongoDatabase, long id, boolean processed) {
    MongoCollection<Document> failureCollection = mongoDatabase.getCollection("failures");
    failureCollection.replaceOne(
            Filters.eq("tweet_id", id),
            new Document().append("tweet_id", id).append("processed", processed),
            new UpdateOptions().upsert(true));
}
项目:environment.monitor    文件:ResourceDAO.java   
/**
 * Inserts new resource to DB, or else updates existing resource description if existing ID was used
 *
 * @param resource resource to be upserted
 */
public synchronized void insert(Resource resource) {
  this.thisCollection.replaceOne(
      eq("_id", resource.getId()),
      resourceToDocument(resource),
      new UpdateOptions().upsert(true));
}
项目:environment.monitor    文件:ResourceDAO.java   
/**
 * Inserts new resources to DB, or else updates existing ones descriptions if existing ID`s was used
 *
 * @param resource resources to be upserted
 */
public synchronized void insert(Set<Resource> resource) {
  List<ReplaceOneModel<Document>> upserts =
      resource.stream()
          .map(
              res -> new ReplaceOneModel<Document>(
                  eq("_id", res.getId()),
                  resourceToDocument(res),
                  new UpdateOptions().upsert(true)
              )
          ).collect(Collectors.toList());

  this.thisCollection.bulkWrite(upserts);
}
项目:mongo-trek    文件:DefaultSchemaVersionDAO.java   
@Override
public void save(Migration migration) {
    Document d = new Document("version", migration.getVersion())
            .append("description", migration.getDescription())
            .append("author", migration.getAuthor())
            .append("started", Optional.ofNullable(migration.getStarted()).map(DateTime::toDate).orElse(null))
            .append("finished", Optional.ofNullable(migration.getFinished()).map(DateTime::toDate).orElse(null))
            .append("status", migration.getStatus().name())
            .append("failureMessage", migration.getFailureMessage());

    collection.replaceOne(eq("version", migration.getVersion()), d, new UpdateOptions().upsert(true));
}
项目:rocketmq-flink-plugin    文件:MongoUpsertSink.java   
@Override
public void open(Configuration config) {
    mongoClient = MongoManager.getInstance().getClient();
    uo = new UpdateOptions();
    uo.upsert(true);
    try {
        super.open(config);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
项目:rocketmq-flink-plugin    文件:MongoManager.java   
/**
 * @param dbName         库名
 * @param collectionName 集合名
 * @param json1          条件
 * @param json2          保存doc
 * @return upsert结果信息
 */
public JSONObject executeUpsert(String dbName, String collectionName, JSONObject json1, JSONObject json2) {
    JSONObject resp = new JSONObject();
    try {
        MongoDatabase db = mongoClient.getDatabase(dbName);
        MongoCollection coll = db.getCollection(collectionName);
        JSONObject saveJson = new JSONObject();
        saveJson.put("$set", json2);
        Document doc1 = Document.parse(json1.toString());
        Document doc2 = Document.parse(saveJson.toString());
        UpdateOptions up = new UpdateOptions();
        up.upsert(true);
        UpdateResult ur = coll.updateOne(doc1, doc2, up);
        if (ur.isModifiedCountAvailable()) {
            if (json1.containsKey(ID)) {
                resp.put("Data", json1.get(ID));
            } else {
                resp.put("Data", json1);
            }
        }
    } catch (MongoTimeoutException e1) {
        e1.printStackTrace();
        resp.put("ReasonMessage", e1.getClass() + ":" + e1.getMessage());
        return resp;
    } catch (Exception e) {
        e.printStackTrace();
        resp.put("ReasonMessage", e.getClass() + ":" + e.getMessage());
    }
    return resp;
}
项目:dooo    文件:MongodbDataAccess.java   
/**
 * 新增或者更新
 *
 * @param collectionName 集合名
 * @param query          查询条件
 * @param descData       目标数据
 * @return
 */
public boolean upsert(String collectionName, MongodbQuery query, Map<String, Object> descData) {
    MongoCollection collection = sMongoDatabase.getCollection(collectionName);
    UpdateOptions options = new UpdateOptions();
    options.upsert(true);
    BasicDBObject updateSetValue = new BasicDBObject("$set", descData);
    UpdateResult updateResult = collection.updateMany(query.getQuery(), updateSetValue, options);
    return updateResult.getUpsertedId() != null ||
            (updateResult.getMatchedCount() > 0 && updateResult.getModifiedCount() > 0);
}
项目:nifi-nars    文件:UpdateMongo.java   
@OnScheduled
public void onScheduled(final ProcessContext context) {
    batchSize = context.getProperty(MongoProps.BATCH_SIZE).asInteger();
    updateOperator = context.getProperty(MongoProps.UPDATE_OPERATOR).getValue();
    updateQueryKeys = getSetFromCsvList(context.getProperty(MongoProps.UPDATE_QUERY_KEYS).getValue());

    updateKeysProp = context.getProperty(MongoProps.UPDATE_KEYS);

    boolean upsert = context.getProperty(MongoProps.UPSERT).asBoolean();
    updateOptions = new UpdateOptions().upsert(upsert);

    createMongoConnection(context);
    ensureIndexes(context, collection);
}
项目:otus-api    文件:ActivityDaoBean.java   
@Override
public SurveyActivity update(SurveyActivity surveyActivity) throws DataNotFoundException {
    Document parsed = Document.parse(SurveyActivity.serialize(surveyActivity));
    parsed.remove("_id");
    UpdateResult updateOne = collection.updateOne(eq("_id", surveyActivity.getActivityID()),
            new Document("$set", parsed), new UpdateOptions().upsert(false));

    if (updateOne.getMatchedCount() == 0) {
        throw new DataNotFoundException(
                new Throwable("OID {" + surveyActivity.getActivityID().toString() + "} not found."));
    }

    return surveyActivity;
}
项目:otus-api    文件:ActivityDaoBean.java   
@Override
public void updateCategory(ActivityCategory activityCategory){
    Document query = new Document();
    query.put("category.name", activityCategory.getName());

    UpdateResult updateResult = collection.updateOne(query, new Document("$set", new Document("category.label", activityCategory.getLabel())), new UpdateOptions().upsert(false));

}
项目:otus-api    文件:ActivityConfigurationDaoBean.java   
@Override
public void disable(String name) throws DataNotFoundException {
    BasicDBObject query = new BasicDBObject();
    query.put("objectType", "ActivityCategory");
    query.put("name", name);

    UpdateResult updateResult = collection.updateOne(query, new Document("$set", new Document("disabled", true)), new UpdateOptions().upsert(false));

    if (updateResult.getMatchedCount() == 0) {
        throw new DataNotFoundException(
                new Throwable("ActivityCategory {" + name + "} not found."));        }
}
项目:otus-api    文件:ExamLotDaoBean.java   
@Override
public ExamLot update(ExamLot examLot) throws DataNotFoundException {
    Document parsed = Document.parse(ExamLot.serialize(examLot));
    parsed.remove("_id");

    UpdateResult updateLotData = collection.updateOne(eq("code", examLot.getCode()), new Document("$set", parsed),
            new UpdateOptions().upsert(false));

    if (updateLotData.getMatchedCount() == 0) {
        throw new DataNotFoundException(new Throwable("Exam Lot not found"));
    }

    return examLot;
}
项目:otus-api    文件:TransportationLotDaoBean.java   
@Override
public TransportationLot update(TransportationLot transportationLot) throws DataNotFoundException {
    Document parsed = Document.parse(TransportationLot.serialize(transportationLot));
    parsed.remove("_id");

    UpdateResult updateLotData = collection.updateOne(eq("code", transportationLot.getCode()),
            new Document("$set", parsed), new UpdateOptions().upsert(false));

    if (updateLotData.getMatchedCount() == 0) {
        throw new DataNotFoundException(
                new Throwable("Transportation Lot not found"));
    }

    return transportationLot;
}
项目:otus-api    文件:ParticipantLaboratoryDaoBean.java   
@Override
public ParticipantLaboratory updateLaboratoryData(ParticipantLaboratory labParticipant) throws DataNotFoundException {
    Document parsed = Document.parse(ParticipantLaboratory.serialize(labParticipant));
    parsed.remove("_id");

    UpdateResult updateLabData = collection.updateOne(eq("recruitmentNumber", labParticipant.getRecruitmentNumber()), new Document("$set", parsed),
            new UpdateOptions().upsert(false));

    if (updateLabData.getMatchedCount() == 0) {
        throw new DataNotFoundException(new Throwable("Laboratory of Participant recruitment number: " + labParticipant.getRecruitmentNumber()
                + " does not exists."));
    }

    return labParticipant;
}
项目:otus-api    文件:LaboratoryConfigurationDaoBean.java   
@Override
public void update(LaboratoryConfiguration configuration) throws Exception {
    Document parsed = Document.parse(LaboratoryConfiguration.serialize(configuration));
    parsed.remove("_id");

    UpdateResult updatedData = collection.updateOne(eq("_id", configuration.getId()), new Document("$set", parsed),
            new UpdateOptions().upsert(false));

    if (updatedData.getModifiedCount() == 0) {
        throw new Exception("Update was not executed.");
    }
}
项目:mongo-obj-framework    文件:SmofOpOptionsImpl.java   
@Override
   public UpdateOptions toUpdateOptions() {
    final UpdateOptions options = new UpdateOptions();
    options.bypassDocumentValidation(!validateDocuments);
    options.upsert(upsert);
    return options;
}
项目:LuckPerms    文件:MongoDao.java   
@Override
public void saveUser(User user) {
    user.getIoLock().lock();
    try {
        MongoCollection<Document> c = this.database.getCollection(this.prefix + "users");
        if (!this.plugin.getUserManager().shouldSave(user)) {
            c.deleteOne(new Document("_id", user.getUuid()));
        } else {
            c.replaceOne(new Document("_id", user.getUuid()), userToDoc(user), new UpdateOptions().upsert(true));
        }
    } finally {
        user.getIoLock().unlock();
    }
}