@Override com.mongodb.bulk.WriteRequest toNew(final DBCollection dbCollection) { return new com.mongodb.bulk.InsertRequest(new BsonDocumentWrapper<DBObject>(document, codec)); } }
@Override protected EncodingMetadata encodeMessageBodyWithMetadata(final BsonOutput outputStream) { writeInsertPrologue(outputStream); int firstDocumentPosition = outputStream.getPosition(); addCollectibleDocument(insertRequest.getDocument(), outputStream, new CollectibleDocumentFieldNameValidator()); return new EncodingMetadata(firstDocumentPosition); }
MixedBulkWriteOperation insertMany(final List<? extends TDocument> documents, final InsertManyOptions options) { notNull("documents", documents); List<InsertRequest> requests = new ArrayList<InsertRequest>(documents.size()); for (TDocument document : documents) { if (document == null) { throw new IllegalArgumentException("documents can not contain a null value"); } if (getCodec() instanceof CollectibleCodec) { document = ((CollectibleCodec<TDocument>) getCodec()).generateIdIfAbsentFromDocument(document); } requests.add(new InsertRequest(documentToBsonDocument(document))); } return new MixedBulkWriteOperation(namespace, requests, options.isOrdered(), writeConcern, retryWrites) .bypassDocumentValidation(options.getBypassDocumentValidation()); }
public void encode(final BsonWriter writer, final WriteRequest writeRequest, final EncoderContext encoderContext) { if (writeRequest.getType() == INSERT) { BsonDocument document = ((InsertRequest) writeRequest).getDocument(); getCodec(document).encode(writer, document, EncoderContext.builder().isEncodingCollectibleDocument(true).build()); } else if (writeRequest.getType() == UPDATE || writeRequest.getType() == REPLACE) {
/** * <p>Insert documents into a collection. If the collection does not exists on the server, then it will be created. If the new document * does not contain an '_id' field, it will be added.</p> * * <p>If the value of the continueOnError property of the given {@code InsertOptions} is true, * that value will override the value of the continueOnError property of the given {@code WriteConcern}. Otherwise, * the value of the continueOnError property of the given {@code WriteConcern} will take effect. </p> * * @param documents a list of {@code DBObject}'s to be inserted * @param insertOptions the options to use for the insert * @return the result of the operation * @throws com.mongodb.DuplicateKeyException if the write failed to a duplicate unique key * @throws com.mongodb.WriteConcernException if the write failed due some other failure specific to the insert command * @throws MongoException if the operation failed for some other reason * @mongodb.driver.manual tutorial/insert-documents/ Insert Documents */ public WriteResult insert(final List<? extends DBObject> documents, final InsertOptions insertOptions) { WriteConcern writeConcern = insertOptions.getWriteConcern() != null ? insertOptions.getWriteConcern() : getWriteConcern(); Encoder<DBObject> encoder = toEncoder(insertOptions.getDbEncoder()); List<InsertRequest> insertRequestList = new ArrayList<InsertRequest>(documents.size()); for (DBObject cur : documents) { if (cur.get(ID_FIELD_NAME) == null) { cur.put(ID_FIELD_NAME, new ObjectId()); } insertRequestList.add(new InsertRequest(new BsonDocumentWrapper<DBObject>(cur, encoder))); } return insert(insertRequestList, writeConcern, insertOptions.isContinueOnError(), insertOptions.getBypassDocumentValidation()); }
@Override protected EncodingMetadata encodeMessageBodyWithMetadata(final BsonOutput outputStream) { writeInsertPrologue(outputStream); int firstDocumentPosition = outputStream.getPosition(); addCollectibleDocument(insertRequest.getDocument(), outputStream, new CollectibleDocumentFieldNameValidator()); return new EncodingMetadata(firstDocumentPosition); }
document = ((CollectibleCodec<TDocument>) getCodec()).generateIdIfAbsentFromDocument(document); writeRequest = new InsertRequest(documentToBsonDocument(document)); } else if (writeModel instanceof ReplaceOneModel) { ReplaceOneModel<TDocument> replaceOneModel = (ReplaceOneModel<TDocument>) writeModel;
public void encode(final BsonWriter writer, final WriteRequest writeRequest, final EncoderContext encoderContext) { if (writeRequest.getType() == INSERT) { BsonDocument document = ((InsertRequest) writeRequest).getDocument(); getCodec(document).encode(writer, document, EncoderContext.builder().isEncodingCollectibleDocument(true).build()); } else if (writeRequest.getType() == UPDATE || writeRequest.getType() == REPLACE) {
@Override com.mongodb.bulk.WriteRequest toNew(final DBCollection dbCollection) { return new com.mongodb.bulk.InsertRequest(new BsonDocumentWrapper<DBObject>(document, codec)); } }
MixedBulkWriteOperation insertMany(final List<? extends TDocument> documents, final InsertManyOptions options) { notNull("documents", documents); List<InsertRequest> requests = new ArrayList<InsertRequest>(documents.size()); for (TDocument document : documents) { if (document == null) { throw new IllegalArgumentException("documents can not contain a null value"); } if (getCodec() instanceof CollectibleCodec) { document = ((CollectibleCodec<TDocument>) getCodec()).generateIdIfAbsentFromDocument(document); } requests.add(new InsertRequest(documentToBsonDocument(document))); } return new MixedBulkWriteOperation(namespace, requests, options.isOrdered(), writeConcern, retryWrites) .bypassDocumentValidation(options.getBypassDocumentValidation()); }
/** * <p>Insert documents into a collection. If the collection does not exists on the server, then it will be created. If the new document * does not contain an '_id' field, it will be added.</p> * * <p>If the value of the continueOnError property of the given {@code InsertOptions} is true, * that value will override the value of the continueOnError property of the given {@code WriteConcern}. Otherwise, * the value of the continueOnError property of the given {@code WriteConcern} will take effect. </p> * * @param documents a list of {@code DBObject}'s to be inserted * @param insertOptions the options to use for the insert * @return the result of the operation * @throws com.mongodb.DuplicateKeyException if the write failed to a duplicate unique key * @throws com.mongodb.WriteConcernException if the write failed due some other failure specific to the insert command * @throws MongoException if the operation failed for some other reason * @mongodb.driver.manual tutorial/insert-documents/ Insert Documents */ public WriteResult insert(final List<? extends DBObject> documents, final InsertOptions insertOptions) { WriteConcern writeConcern = insertOptions.getWriteConcern() != null ? insertOptions.getWriteConcern() : getWriteConcern(); Encoder<DBObject> encoder = toEncoder(insertOptions.getDbEncoder()); List<InsertRequest> insertRequestList = new ArrayList<InsertRequest>(documents.size()); for (DBObject cur : documents) { if (cur.get(ID_FIELD_NAME) == null) { cur.put(ID_FIELD_NAME, new ObjectId()); } insertRequestList.add(new InsertRequest(new BsonDocumentWrapper<DBObject>(cur, encoder))); } return insert(insertRequestList, writeConcern, insertOptions.isContinueOnError(), insertOptions.getBypassDocumentValidation()); }
document = ((CollectibleCodec<TDocument>) getCodec()).generateIdIfAbsentFromDocument(document); writeRequest = new InsertRequest(documentToBsonDocument(document)); } else if (writeModel instanceof ReplaceOneModel) { ReplaceOneModel<TDocument> replaceOneModel = (ReplaceOneModel<TDocument>) writeModel;