Class Updates

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

public final class Updates extends Object
A factory for document updates. A convenient way to use this class is to statically import all of its methods, which allows usage like:
    collection.updateOne(eq("x", 1), set("x", 2));
 
Since:
3.1
MongoDB documentation
Update Operators
  • Method Summary

    Modifier and Type
    Method
    Description
    static <TItem> Bson
    addEachToSet(String fieldName, List<TItem> values)
    Creates an update that adds each of the given values to the array value of the field with the given name, unless the value is already present, in which case it does nothing
    static <TItem> Bson
    addToSet(String fieldName, TItem value)
    Creates an update that adds the given value to the array value of the field with the given name, unless the value is already present, in which case it does nothing
    static Bson
    bitwiseAnd(String fieldName, int value)
    Creates an update that performs a bitwise and between the given integer value and the integral value of the field with the given name.
    static Bson
    bitwiseAnd(String fieldName, long value)
    Creates an update that performs a bitwise and between the given long value and the integral value of the field with the given name.
    static Bson
    bitwiseOr(String fieldName, int value)
    Creates an update that performs a bitwise or between the given integer value and the integral value of the field with the given name.
    static Bson
    bitwiseOr(String fieldName, long value)
    Creates an update that performs a bitwise or between the given long value and the integral value of the field with the given name.
    static Bson
    bitwiseXor(String fieldName, int value)
    Creates an update that performs a bitwise xor between the given integer value and the integral value of the field with the given name.
    static Bson
    bitwiseXor(String fieldName, long value)
    Creates an update that performs a bitwise xor between the given long value and the integral value of the field with the given name.
    static Bson
    combine(List<? extends Bson> updates)
    Combine a list of updates into a single update.
    static Bson
    combine(Bson... updates)
    Combine a list of updates into a single update.
    static Bson
    currentDate(String fieldName)
    Creates an update that sets the value of the field to the current date as a BSON date.
    static Bson
    Creates an update that sets the value of the field to the current date as a BSON timestamp.
    static Bson
    inc(String fieldName, Number number)
    Creates an update that increments the value of the field with the given name by the given value.
    static <TItem> Bson
    max(String fieldName, TItem value)
    Creates an update that sets the value of the field to the given value if the given value is greater than the current value of the field.
    static <TItem> Bson
    min(String fieldName, TItem value)
    Creates an update that sets the value of the field to the given value if the given value is less than the current value of the field.
    static Bson
    mul(String fieldName, Number number)
    Creates an update that multiplies the value of the field with the given name by the given number.
    static Bson
    popFirst(String fieldName)
    Creates an update that pops the first element of an array that is the value of the field with the given name.
    static Bson
    popLast(String fieldName)
    Creates an update that pops the last element of an array that is the value of the field with the given name.
    static <TItem> Bson
    pull(String fieldName, TItem value)
    Creates an update that removes all instances of the given value from the array value of the field with the given name.
    static <TItem> Bson
    pullAll(String fieldName, List<TItem> values)
    Creates an update that removes all instances of the given values from the array value of the field with the given name.
    static Bson
    Creates an update that removes from an array all elements that match the given filter.
    static <TItem> Bson
    push(String fieldName, TItem value)
    Creates an update that adds the given value to the array value of the field with the given name.
    static <TItem> Bson
    pushEach(String fieldName, List<TItem> values)
    Creates an update that adds each of the given values to the array value of the field with the given name.
    static <TItem> Bson
    pushEach(String fieldName, List<TItem> values, PushOptions options)
    Creates an update that adds each of the given values to the array value of the field with the given name, applying the given options for positioning the pushed values, and then slicing and/or sorting the array.
    static Bson
    rename(String fieldName, String newFieldName)
    Creates an update that renames a field.
    static <TItem> Bson
    set(String fieldName, TItem value)
    Creates an update that sets the value of the field with the given name to the given value.
    static <TItem> Bson
    setOnInsert(String fieldName, TItem value)
    Creates an update that sets the value of the field with the given name to the given value, but only if the update is an upsert that results in an insert of a document.
    static Bson
    Creates an update that sets the values for the document, but only if the update is an upsert that results in an insert of a document.
    static Bson
    unset(String fieldName)
    Creates an update that deletes the field with the given name.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • combine

      public static Bson combine(Bson... updates)
      Combine a list of updates into a single update.
      Parameters:
      updates - the list of updates
      Returns:
      a combined update
    • combine

      public static Bson combine(List<? extends Bson> updates)
      Combine a list of updates into a single update.
      Parameters:
      updates - the list of updates
      Returns:
      a combined update
    • set

      public static <TItem> Bson set(String fieldName, @Nullable TItem value)
      Creates an update that sets the value of the field with the given name to the given value.
      Type Parameters:
      TItem - the value type
      Parameters:
      fieldName - the non-null field name
      value - the value, which may be null
      Returns:
      the update
      MongoDB documentation
      $set
    • unset

      public static Bson unset(String fieldName)
      Creates an update that deletes the field with the given name.
      Parameters:
      fieldName - the non-null field name
      Returns:
      the update
      MongoDB documentation
      $unset
    • setOnInsert

      public static Bson setOnInsert(Bson value)
      Creates an update that sets the values for the document, but only if the update is an upsert that results in an insert of a document.
      Parameters:
      value - the value
      Returns:
      the update
      Since:
      3.10.0
      See Also:
      MongoDB documentation
      $setOnInsert
    • setOnInsert

      public static <TItem> Bson setOnInsert(String fieldName, @Nullable TItem value)
      Creates an update that sets the value of the field with the given name to the given value, but only if the update is an upsert that results in an insert of a document.
      Type Parameters:
      TItem - the value type
      Parameters:
      fieldName - the non-null field name
      value - the value, which may be null
      Returns:
      the update
      See Also:
      MongoDB documentation
      $setOnInsert
    • rename

      public static Bson rename(String fieldName, String newFieldName)
      Creates an update that renames a field.
      Parameters:
      fieldName - the non-null field name
      newFieldName - the non-null new field name
      Returns:
      the update
      MongoDB documentation
      $rename
    • inc

      public static Bson inc(String fieldName, Number number)
      Creates an update that increments the value of the field with the given name by the given value.
      Parameters:
      fieldName - the non-null field name
      number - the value
      Returns:
      the update
      MongoDB documentation
      $inc
    • mul

      public static Bson mul(String fieldName, Number number)
      Creates an update that multiplies the value of the field with the given name by the given number.
      Parameters:
      fieldName - the non-null field name
      number - the non-null number
      Returns:
      the update
      MongoDB documentation
      $mul
    • min

      public static <TItem> Bson min(String fieldName, TItem value)
      Creates an update that sets the value of the field to the given value if the given value is less than the current value of the field.
      Type Parameters:
      TItem - the value type
      Parameters:
      fieldName - the non-null field name
      value - the value
      Returns:
      the update
      MongoDB documentation
      $min
    • max

      public static <TItem> Bson max(String fieldName, TItem value)
      Creates an update that sets the value of the field to the given value if the given value is greater than the current value of the field.
      Type Parameters:
      TItem - the value type
      Parameters:
      fieldName - the non-null field name
      value - the value
      Returns:
      the update
      MongoDB documentation
      $min
    • currentDate

      public static Bson currentDate(String fieldName)
      Creates an update that sets the value of the field to the current date as a BSON date.
      Parameters:
      fieldName - the non-null field name
      Returns:
      the update
      MongoDB documentation
      $currentDate
      Date
    • currentTimestamp

      public static Bson currentTimestamp(String fieldName)
      Creates an update that sets the value of the field to the current date as a BSON timestamp.
      Parameters:
      fieldName - the non-null field name
      Returns:
      the update
      MongoDB documentation
      $currentDate
      Timestamp
    • addToSet

      public static <TItem> Bson addToSet(String fieldName, @Nullable TItem value)
      Creates an update that adds the given value to the array value of the field with the given name, unless the value is already present, in which case it does nothing
      Type Parameters:
      TItem - the value type
      Parameters:
      fieldName - the non-null field name
      value - the value, which may be null
      Returns:
      the update
      MongoDB documentation
      $addToSet
    • addEachToSet

      public static <TItem> Bson addEachToSet(String fieldName, List<TItem> values)
      Creates an update that adds each of the given values to the array value of the field with the given name, unless the value is already present, in which case it does nothing
      Type Parameters:
      TItem - the value type
      Parameters:
      fieldName - the non-null field name
      values - the values
      Returns:
      the update
      MongoDB documentation
      $addToSet
    • push

      public static <TItem> Bson push(String fieldName, @Nullable TItem value)
      Creates an update that adds the given value to the array value of the field with the given name.
      Type Parameters:
      TItem - the value type
      Parameters:
      fieldName - the non-null field name
      value - the value, which may be null
      Returns:
      the update
      MongoDB documentation
      $push
    • pushEach

      public static <TItem> Bson pushEach(String fieldName, List<TItem> values)
      Creates an update that adds each of the given values to the array value of the field with the given name.
      Type Parameters:
      TItem - the value type
      Parameters:
      fieldName - the non-null field name
      values - the values
      Returns:
      the update
      MongoDB documentation
      $push
    • pushEach

      public static <TItem> Bson pushEach(String fieldName, List<TItem> values, PushOptions options)
      Creates an update that adds each of the given values to the array value of the field with the given name, applying the given options for positioning the pushed values, and then slicing and/or sorting the array.
      Type Parameters:
      TItem - the value type
      Parameters:
      fieldName - the non-null field name
      values - the values
      options - the non-null push options
      Returns:
      the update
      MongoDB documentation
      $push
    • pull

      public static <TItem> Bson pull(String fieldName, @Nullable TItem value)
      Creates an update that removes all instances of the given value from the array value of the field with the given name.
      Type Parameters:
      TItem - the value type
      Parameters:
      fieldName - the non-null field name
      value - the value, which may be null
      Returns:
      the update
      MongoDB documentation
      $pull
    • pullByFilter

      public static Bson pullByFilter(Bson filter)
      Creates an update that removes from an array all elements that match the given filter.
      Parameters:
      filter - the query filter
      Returns:
      the update
      MongoDB documentation
      $pull
    • pullAll

      public static <TItem> Bson pullAll(String fieldName, List<TItem> values)
      Creates an update that removes all instances of the given values from the array value of the field with the given name.
      Type Parameters:
      TItem - the value type
      Parameters:
      fieldName - the non-null field name
      values - the values
      Returns:
      the update
      MongoDB documentation
      $pull
    • popFirst

      public static Bson popFirst(String fieldName)
      Creates an update that pops the first element of an array that is the value of the field with the given name.
      Parameters:
      fieldName - the non-null field name
      Returns:
      the update
      MongoDB documentation
      $pop
    • popLast

      public static Bson popLast(String fieldName)
      Creates an update that pops the last element of an array that is the value of the field with the given name.
      Parameters:
      fieldName - the non-null field name
      Returns:
      the update
      MongoDB documentation
      $pop
    • bitwiseAnd

      public static Bson bitwiseAnd(String fieldName, int value)
      Creates an update that performs a bitwise and between the given integer value and the integral value of the field with the given name.
      Parameters:
      fieldName - the field name
      value - the value
      Returns:
      the update
    • bitwiseAnd

      public static Bson bitwiseAnd(String fieldName, long value)
      Creates an update that performs a bitwise and between the given long value and the integral value of the field with the given name.
      Parameters:
      fieldName - the field name
      value - the value
      Returns:
      the update
      MongoDB documentation
      $bit
    • bitwiseOr

      public static Bson bitwiseOr(String fieldName, int value)
      Creates an update that performs a bitwise or between the given integer value and the integral value of the field with the given name.
      Parameters:
      fieldName - the field name
      value - the value
      Returns:
      the update
      MongoDB documentation
      $bit
    • bitwiseOr

      public static Bson bitwiseOr(String fieldName, long value)
      Creates an update that performs a bitwise or between the given long value and the integral value of the field with the given name.
      Parameters:
      fieldName - the field name
      value - the value
      Returns:
      the update
      MongoDB documentation
      $bit
    • bitwiseXor

      public static Bson bitwiseXor(String fieldName, int value)
      Creates an update that performs a bitwise xor between the given integer value and the integral value of the field with the given name.
      Parameters:
      fieldName - the field name
      value - the value
      Returns:
      the update
    • bitwiseXor

      public static Bson bitwiseXor(String fieldName, long value)
      Creates an update that performs a bitwise xor between the given long value and the integral value of the field with the given name.
      Parameters:
      fieldName - the field name
      value - the value
      Returns:
      the update