private static BulkWriteOptions getBulkWriteOptions(BulkMode bulkMode) { BulkWriteOptions options = new BulkWriteOptions(); switch (bulkMode) { case ORDERED: return options.ordered(true); case UNORDERED: return options.ordered(false); } throw new IllegalStateException("BulkMode was null!"); }
MixedBulkWriteOperation insertOne(final TDocument document, final InsertOneOptions options) { return bulkWrite(singletonList(new InsertOneModel<TDocument>(document)), new BulkWriteOptions().bypassDocumentValidation(options.getBypassDocumentValidation())); }
@Override public BulkWriteResult bulkWrite(final ClientSession clientSession, final List<? extends WriteModel<? extends TDocument>> requests) { return bulkWrite(clientSession, requests, new BulkWriteOptions()); }
BulkWriteOptions bulkWriteOptions = new BulkWriteOptions(); bulkWriteOptions.ordered(false); bulkWriteOptions.bypassDocumentValidation(true);
return new MixedBulkWriteOperation(namespace, writeRequests, options.isOrdered(), writeConcern, retryWrites) .bypassDocumentValidation(options.getBypassDocumentValidation());
@Override public BulkWriteResult bulkWrite(final List<? extends WriteModel<? extends TDocument>> requests) { return bulkWrite(requests, new BulkWriteOptions()); }
return new MixedBulkWriteOperation(namespace, writeRequests, options.isOrdered(), writeConcern, retryWrites) .bypassDocumentValidation(options.getBypassDocumentValidation());
private static BulkWriteOptions getBulkWriteOptions(BulkMode bulkMode) { BulkWriteOptions options = new BulkWriteOptions(); switch (bulkMode) { case ORDERED: return options.ordered(true); case UNORDERED: return options.ordered(false); } throw new IllegalStateException("BulkMode was null!"); }
MixedBulkWriteOperation deleteOne(final Bson filter, final DeleteOptions options) { return bulkWrite(singletonList(new DeleteOneModel<TDocument>(filter, options)), new BulkWriteOptions()); }
MixedBulkWriteOperation replaceOne(final Bson filter, final TDocument replacement, final ReplaceOptions options) { return bulkWrite(singletonList(new ReplaceOneModel<TDocument>(filter, replacement, options)), new BulkWriteOptions().bypassDocumentValidation(options.getBypassDocumentValidation())); }
BulkWriteOptions bulkWriteOptions = new BulkWriteOptions(); bulkWriteOptions.ordered(true); BulkWriteResult bulkWriteResult = null; try { bulkWriteResult = mongoCollection.bulkWrite(updateDocuments, bulkWriteOptions); } catch (BulkWriteException e) { List<BulkWriteError> bulkWriteErrors = e.getWriteErrors(); for (BulkWriteError bulkWriteError : bulkWriteErrors) { int failedIndex = bulkWriteError.getIndex(); Long failedEntity = entityList.get(failedIndex); System.out.println("Failed record: " + failedEntity); //handle rollback } }
MixedBulkWriteOperation deleteMany(final Bson filter, final DeleteOptions options) { return bulkWrite(singletonList(new DeleteManyModel<TDocument>(filter, options)), new BulkWriteOptions()); }
MixedBulkWriteOperation updateOne(final Bson filter, final Bson update, final UpdateOptions updateOptions) { return bulkWrite(singletonList(new UpdateOneModel<TDocument>(filter, update, updateOptions)), new BulkWriteOptions().bypassDocumentValidation(updateOptions.getBypassDocumentValidation())); }
public BulkWriteResult remove(List<? extends Bson> queryList, boolean multi) { List<WriteModel<Document>> actions = new ArrayList<>(queryList.size()); if (multi) { for (Bson document : queryList) { actions.add(new DeleteManyModel<>(document)); } } else { for (Bson document : queryList) { actions.add(new DeleteOneModel<>(document)); } } return dbCollection.bulkWrite(actions, new BulkWriteOptions().ordered(false)); }
@Override public Publisher<BulkWriteResult> bulkWrite(final ClientSession clientSession, final List<? extends WriteModel<? extends TDocument>> requests) { return bulkWrite(clientSession, requests, new BulkWriteOptions()); }
MixedBulkWriteOperation updateMany(final Bson filter, final Bson update, final UpdateOptions updateOptions) { return bulkWrite(singletonList(new UpdateManyModel<TDocument>(filter, update, updateOptions)), new BulkWriteOptions().bypassDocumentValidation(updateOptions.getBypassDocumentValidation())); }
public BulkWriteResult replace(List<? extends Bson> queries, List<? extends Bson> updates, boolean upsert) { if (queries.size() != updates.size()) { throw wrongQueryUpdateSize(queries, updates); } Iterator<? extends Bson> queryIterator = queries.iterator(); Iterator<? extends Bson> updateIterator = updates.iterator(); List<WriteModel<Document>> actions = new ArrayList<>(queries.size()); UpdateOptions updateOptions = new UpdateOptions().upsert(upsert); while (queryIterator.hasNext()) { Bson query = queryIterator.next(); Bson update = updateIterator.next(); actions.add(new ReplaceOneModel<>(query, (Document) update, updateOptions)); } return dbCollection.bulkWrite(actions, new BulkWriteOptions().ordered(false)); }
@Override public BulkWriteResult bulkWrite(final List<? extends WriteModel<? extends TDocument>> requests) { return bulkWrite(requests, new BulkWriteOptions()); }
MixedBulkWriteOperation updateOne(final Bson filter, final Bson update, final UpdateOptions updateOptions) { return bulkWrite(singletonList(new UpdateOneModel<TDocument>(filter, update, updateOptions)), new BulkWriteOptions().bypassDocumentValidation(updateOptions.getBypassDocumentValidation())); }
@Override public void storeAll(Map<String, Supplement> map) { List<InsertOneModel> batch = new LinkedList<InsertOneModel>(); for (Map.Entry<String, Supplement> entry : map.entrySet()) { String key = entry.getKey(); Supplement value = entry.getValue(); batch.add(new InsertOneModel( new Document("name", value.getName()).append("price", value.getPrice()) .append("_id", key))); } this.collection.bulkWrite(batch, new BulkWriteOptions().ordered(false)); }