public class MergeOperation extends Object implements FieldsExposingAggregationOperation, FieldsExposingAggregationOperation.InheritsFieldsAggregationOperation
$merge-operation.
We recommend to use the builder via builder() instead of
creating instances of this class directly.
| Modifier and Type | Class and Description |
|---|---|
static class |
MergeOperation.MergeOperationBuilder
Builder API to construct a
MergeOperation. |
static class |
MergeOperation.MergeOperationTarget
Value Object representing the
into field of a $merge aggregation stage. |
static class |
MergeOperation.UniqueMergeId
Value object representing the unique id used during the merge operation to identify duplicates in the target
collection.
|
static class |
MergeOperation.WhenDocumentsDontMatch
Value Object specifying how to deal with a result document that do not match an existing document in the collection
based on the fields of the
on property describing the unique identifier. |
static class |
MergeOperation.WhenDocumentsMatch
Value Object specifying how to deal with a result document that matches an existing document in the collection
based on the fields of the
on property describing the unique identifier. |
FieldsExposingAggregationOperation.InheritsFieldsAggregationOperation| Constructor and Description |
|---|
MergeOperation(MergeOperation.MergeOperationTarget into,
MergeOperation.UniqueMergeId on,
VariableOperators.Let let,
MergeOperation.WhenDocumentsMatch whenMatched,
MergeOperation.WhenDocumentsDontMatch whenNotMatched)
Create new instance of
MergeOperation. |
| Modifier and Type | Method and Description |
|---|---|
static MergeOperation.MergeOperationBuilder |
builder()
Access the
builder API to create a new instance of MergeOperation. |
ExposedFields |
getFields()
Returns the fields exposed by the
AggregationOperation. |
String |
getOperator()
Return the MongoDB operator that is used for this
AggregationOperation. |
boolean |
inheritsFields() |
static MergeOperation |
mergeInto(String collection)
Simplified form to apply all default options for
$merge (including writing to a collection in the same
database). |
org.bson.Document |
toDocument(AggregationOperationContext context)
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waittoPipelineStagespublic MergeOperation(MergeOperation.MergeOperationTarget into, MergeOperation.UniqueMergeId on, @Nullable VariableOperators.Let let, @Nullable MergeOperation.WhenDocumentsMatch whenMatched, @Nullable MergeOperation.WhenDocumentsDontMatch whenNotMatched)
MergeOperation.into - the target (collection and database)on - the unique identifier. Can be null.let - exposed variables for MergeOperation.WhenDocumentsMatch.updateWith(Aggregation). Can be null.whenMatched - behavior if a result document matches an existing one in the target collection. Can be
null.whenNotMatched - behavior if a result document does not match an existing one in the target collection. Can be
null.public static MergeOperation mergeInto(String collection)
$merge (including writing to a collection in the same
database).collection - the output collection within the same database.MergeOperation.public static MergeOperation.MergeOperationBuilder builder()
builder API to create a new instance of MergeOperation.MergeOperation.MergeOperationBuilder.public org.bson.Document toDocument(AggregationOperationContext context)
AggregationOperationtoDocument in interface AggregationOperationcontext - the AggregationOperationContext to operate within. Must not be null.public String getOperator()
AggregationOperationAggregationOperation. Aggregation operations should
implement this method to avoid document rendering.getOperator in interface AggregationOperationAggregationOperation.public ExposedFields getFields()
FieldsExposingAggregationOperationAggregationOperation.getFields in interface FieldsExposingAggregationOperationpublic boolean inheritsFields()
inheritsFields in interface FieldsExposingAggregationOperationinheritsFields in interface FieldsExposingAggregationOperation.InheritsFieldsAggregationOperationCopyright © 2011–2022 Pivotal Software, Inc.. All rights reserved.