@Override public BulkOperations insert(Object document) { Assert.notNull(document, "Document must not be null!"); if (document instanceof Document) { models.add(new InsertOneModel<>((Document) document)); return this; } Document sink = new Document(); mongoOperations.getConverter().write(document, sink); models.add(new InsertOneModel<>(sink)); return this; }
throw new IllegalArgumentException("requests can not contain a null value"); } else if (writeModel instanceof InsertOneModel) { TDocument document = ((InsertOneModel<TDocument>) writeModel).getDocument(); if (getCodec() instanceof CollectibleCodec) { document = ((CollectibleCodec<TDocument>) getCodec()).generateIdIfAbsentFromDocument(document);
@SuppressWarnings("unchecked") InsertOneModel<Document> a = (InsertOneModel<Document>) o; Document id = (Document) a.getDocument().get("_id");
MixedBulkWriteOperation insertOne(final TDocument document, final InsertOneOptions options) { return bulkWrite(singletonList(new InsertOneModel<TDocument>(document)), new BulkWriteOptions().bypassDocumentValidation(options.getBypassDocumentValidation())); }
} else { if (failedModel instanceof InsertOneModel) { log.error("The event '" + ((InsertOneModel) failedModel).getDocument().toString() + "' failed to insert into the Mongo Event Table due to " + bulkWriteError.getMessage()); } else {
@Override public BulkOperations insert(Object document) { Assert.notNull(document, "Document must not be null!"); if (document instanceof Document) { models.add(new InsertOneModel<>((Document) document)); return this; } Document sink = new Document(); mongoOperations.getConverter().write(document, sink); models.add(new InsertOneModel<>(sink)); return this; }
throw new IllegalArgumentException("requests can not contain a null value"); } else if (writeModel instanceof InsertOneModel) { TDocument document = ((InsertOneModel<TDocument>) writeModel).getDocument(); if (getCodec() instanceof CollectibleCodec) { document = ((CollectibleCodec<TDocument>) getCodec()).generateIdIfAbsentFromDocument(document);
public void Create(Document doc) { ops.add(new InsertOneModel<Document>(doc)); FlushOpsIfFull(); }
private TestRecord insertNewRecord(List<WriteModel<Document>> bulkWriter) { TestRecord tr = createNewRecord(); bulkWriter.add(new InsertOneModel<Document>(tr.internalDoc)); return tr; }
private List<WriteModel<Document>> createBulk() { final List<WriteModel<Document>> ops = new ArrayList<WriteModel<Document>>(); Document payload; for(int i=0; i<BULK_SIZE; i++) { payload = new Document(); payload.put("i", i); payload.put("t", new Date()); ops.add( new InsertOneModel<Document>(payload) ); } return ops; } }
@Test public void testBulkInsert() throws Exception { List<WriteModel<Document>> inserts = new ArrayList<>(); inserts.add(new InsertOneModel<>(json("_id: 1"))); inserts.add(new InsertOneModel<>(json("_id: 2"))); inserts.add(new InsertOneModel<>(json("_id: 3"))); BulkWriteResult result = collection.bulkWrite(inserts); assertThat(result.getInsertedCount()).isEqualTo(3); }
@Override protected void add(List<Object[]> records) throws ConnectionUnavailableException { List<InsertOneModel<Document>> parsedRecords = records.stream().map(record -> { Map<String, Object> insertMap = MongoTableUtils.mapValuesToAttributes(record, this.attributeNames); Document insertDocument = new Document(insertMap); if (log.isDebugEnabled()) { log.debug("Event formatted as document '" + insertDocument.toJson() + "' is used for building " + "Mongo Insert Model"); } return new InsertOneModel<>(insertDocument); }).collect(Collectors.toList()); this.bulkWrite(parsedRecords); }
@Override public void onEvent(List<SipMessage> messages) throws Exception { if (messages.isEmpty()) { return; } Map<String, List> documents = new HashMap<>(); for (SipMessage message : messages) { String suffix = defineSuffix(message); if (message.isOrigin()) { Document document = convertToIndex(message); documents.computeIfAbsent("index_" + suffix, k -> new ArrayList()).add(new InsertOneModel<>(document)); } Document document = convertToRaw(message); documents.computeIfAbsent("raw_" + suffix, k -> new ArrayList()).add(new InsertOneModel<>(document)); } documents.forEach((k, v) -> db.getCollection(k).bulkWrite(v)); }
Document record = buffer.poll(MAX_TIME_BEFORE_WRITE, TimeUnit.MILLISECONDS); if (record != null) { writes.add(new InsertOneModel<Document>(record)); count++;
Document record = buffer.poll(MAX_TIME_BEFORE_WRITE, TimeUnit.MILLISECONDS); if (record != null) { writes.add(new InsertOneModel<Document>(record)); count++;
@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)); }
private <T extends ThingEvent> List<WriteModel<Document>> createPolicyUpdates(final T thingEvent, final Enforcer policyEnforcer) { final List<PolicyUpdate> updates = persistenceStrategyFactory .getStrategy(thingEvent) .policyUpdates(thingEvent, policyEnforcer); final List<WriteModel<Document>> writeModels = new ArrayList<>(); updates.forEach(policyUpdate -> { writeModels.add(new DeleteManyModel<>(policyUpdate.getPolicyIndexRemoveFilter())); policyUpdate.getPolicyIndexInsertEntries() .forEach(document -> writeModels.add(new InsertOneModel<>(document))); }); return writeModels; }
private <T extends ThingEvent> List<WriteModel<Document>> createPolicyUpdates(final T thingEvent, final Enforcer policyEnforcer) { final List<PolicyUpdate> updates = persistenceStrategyFactory .getStrategy(thingEvent) .policyUpdates(thingEvent, policyEnforcer); final List<WriteModel<Document>> writeModels = new ArrayList<>(); updates.forEach(policyUpdate -> { writeModels.add(new DeleteManyModel<>(policyUpdate.getPolicyIndexRemoveFilter())); policyUpdate.getPolicyIndexInsertEntries() .forEach(document -> writeModels.add(new InsertOneModel<>(document))); }); return writeModels; }
private void insertUpdateInBulk(boolean ordered) { List<WriteModel<Document>> ops = new ArrayList<>(); ops.add(new InsertOneModel<>(json("_id: 1, field: 'x'"))); ops.add(new InsertOneModel<>(json("_id: 2, field: 'x'"))); ops.add(new InsertOneModel<>(json("_id: 3, field: 'x'"))); ops.add(new UpdateManyModel<Document>(json("field: 'x'"), set("field", "y"))); BulkWriteResult result = collection.bulkWrite(ops, new BulkWriteOptions().ordered(ordered)); assertThat(result.getInsertedCount()).isEqualTo(3); assertThat(result.getDeletedCount()).isEqualTo(0); assertThat(result.getModifiedCount()).isEqualTo(3); assertThat(result.getMatchedCount()).isEqualTo(3); long totalDocuments = collection.countDocuments(); assertThat(totalDocuments).isEqualTo(3); long documentsWithY = collection.countDocuments(json("field: 'y'")); assertThat(documentsWithY).isEqualTo(3); }
MixedBulkWriteOperation insertOne(final TDocument document, final InsertOneOptions options) { return bulkWrite(singletonList(new InsertOneModel<TDocument>(document)), new BulkWriteOptions().bypassDocumentValidation(options.getBypassDocumentValidation())); }