Class MergeOptions

java.lang.Object
com.mongodb.client.model.MergeOptions

public final class MergeOptions extends Object
Options to control the behavior of the $merge aggregation stage
Since:
3.11
See Also:
MongoDB documentation
$merge stage
Since server release
4.2
  • Constructor Details

    • MergeOptions

      public MergeOptions()
  • Method Details

    • getUniqueIdentifier

      public List<String> getUniqueIdentifier()
      Gets the fields that act as a unique identifier for a document. The identifier determine if a results document matches an already existing document in the output collection.
      Returns:
      the unique identifier
    • uniqueIdentifier

      public MergeOptions uniqueIdentifier(String uniqueIdentifier)
      Sets the field that act as a unique identifier for a document. The identifier determine if a results document matches an already existing document in the output collection.
      Parameters:
      uniqueIdentifier - the unique identifier
      Returns:
      this
    • uniqueIdentifier

      public MergeOptions uniqueIdentifier(List<String> uniqueIdentifier)
      Sets the field that act as a unique identifier for a document. The identifier determine if a results document matches an already existing document in the output collection.
      Parameters:
      uniqueIdentifier - the unique identifier
      Returns:
      this
    • getWhenMatched

      public MergeOptions.WhenMatched getWhenMatched()
      Gets the behavior of $merge if a result document and an existing document in the collection have the same value for the specified on field(s).
      Returns:
      when matched
    • whenMatched

      public MergeOptions whenMatched(MergeOptions.WhenMatched whenMatched)
      Sets the behavior of $merge if a result document and an existing document in the collection have the same value for the specified on field(s).
      Parameters:
      whenMatched - when matched
      Returns:
      this
    • getVariables

      public List<Variable<?>> getVariables()
      Gets the variables accessible for use in the whenMatched pipeline
      Returns:
      the variables
    • variables

      public MergeOptions variables(List<Variable<?>> variables)
      Sets the variables accessible for use in the whenMatched pipeline.
      Parameters:
      variables - the variables
      Returns:
      this
    • getWhenMatchedPipeline

      public List<Bson> getWhenMatchedPipeline()
      Gets aggregation pipeline to update the document in the collection.
      Returns:
      when matched pipeline
      See Also:
    • whenMatchedPipeline

      public MergeOptions whenMatchedPipeline(List<Bson> whenMatchedPipeline)
      Sets aggregation pipeline to update the document in the collection.
      Parameters:
      whenMatchedPipeline - when matched pipeline
      Returns:
      this
      See Also:
    • getWhenNotMatched

      public MergeOptions.WhenNotMatched getWhenNotMatched()
      Gets the behavior of $merge if a result document does not match an existing document in the out collection.
      Returns:
      when not matched
    • whenNotMatched

      public MergeOptions whenNotMatched(MergeOptions.WhenNotMatched whenNotMatched)
      Sets the behavior of $merge if a result document does not match an existing document in the out collection.
      Parameters:
      whenNotMatched - when not matched
      Returns:
      this
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object