Returns a special value that can be used with setData() or updateData() that tells the server
to union the given elements with any array value that already exists on the server. Each
specified element that doesn’t already exist in the array will be added to the end. If the
field being modified is not already an array it will be overwritten with an array containing
exactly the specified elements.
Declaration
Swift
classfuncarrayUnion(_elements:[Any])->Self
Parameters
elements
The elements to union into the array.
Return Value
The FieldValue sentinel for use in a call to setData() or updateData().
Returns a special value that can be used with setData() or updateData() that tells the server
to remove the given elements from any array value that already exists on the server. All
instances of each element specified will be removed from the array. If the field being
modified is not already an array it will be overwritten with an empty array.
Declaration
Swift
classfuncarrayRemove(_elements:[Any])->Self
Parameters
elements
The elements to remove from the array.
Return Value
The FieldValue sentinel for use in a call to setData() or updateData().
Returns a special value that can be used with setData() or updateData() that tells the server
to increment the field’s current value by the given value.
If the current value is an integer or a double, both the current and the given value will be
interpreted as doubles and all arithmetic will follow IEEE 754 semantics. Otherwise, the
transformation will set the field to the given value.
Declaration
Swift
classfuncincrement(_d:Double)->Self
Parameters
d
The double value to increment by.
Return Value
The FieldValue sentinel for use in a call to setData() or updateData().
Returns a special value that can be used with setData() or updateData() that tells the server
to increment the field’s current value by the given value.
If the current field value is an integer, possible integer overflows are resolved to LONG_MAX or
LONG_MIN. If the current field value is a double, both values will be interpreted as doubles and
the arithmetic will follow IEEE 754 semantics.
If field is not an integer or double, or if the field does not yet exist, the transformation
will set the field to the given value.
Declaration
Swift
classfuncincrement(_l:Int64)->Self
Parameters
l
The integer value to increment by.
Return Value
The FieldValue sentinel for use in a call to setData() or updateData().
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-11 UTC."],[],[],null,["# FirebaseFirestore Framework Reference\n\nFieldValue\n==========\n\n class FieldValue : NSObject, @unchecked Sendable\n\nSentinel values that can be used when writing document fields with `setData()` or `updateData()`.\n- `\n ``\n ``\n `\n\n ### [delete()](#/c:objc(cs)FIRFieldValue(cm)fieldValueForDelete)\n\n `\n ` \n Used with `updateData()` to mark a field for deletion. \n\n #### Declaration\n\n Swift \n\n class func delete() -\u003e Self\n\n- `\n ``\n ``\n `\n\n ### [serverTimestamp()](#/c:objc(cs)FIRFieldValue(cm)fieldValueForServerTimestamp)\n\n `\n ` \n Used with `setData()` or `updateData()` to include a server-generated timestamp in the written\n data. \n\n #### Declaration\n\n Swift \n\n class func serverTimestamp() -\u003e Self\n\n- `\n ``\n ``\n `\n\n ### [arrayUnion(_:)](#/c:objc(cs)FIRFieldValue(cm)fieldValueForArrayUnion:)\n\n `\n ` \n Returns a special value that can be used with `setData()` or `updateData()` that tells the server\n to union the given elements with any array value that already exists on the server. Each\n specified element that doesn't already exist in the array will be added to the end. If the\n field being modified is not already an array it will be overwritten with an array containing\n exactly the specified elements. \n\n #### Declaration\n\n Swift \n\n class func arrayUnion(_ elements: [Any]) -\u003e Self\n\n #### Parameters\n\n |------------------|---------------------------------------|\n | ` `*elements*` ` | The elements to union into the array. |\n\n #### Return Value\n\n The `FieldValue` sentinel for use in a call to `setData()` or `updateData()`.\n- `\n ``\n ``\n `\n\n ### [arrayRemove(_:)](#/c:objc(cs)FIRFieldValue(cm)fieldValueForArrayRemove:)\n\n `\n ` \n Returns a special value that can be used with `setData()` or `updateData()` that tells the server\n to remove the given elements from any array value that already exists on the server. All\n instances of each element specified will be removed from the array. If the field being\n modified is not already an array it will be overwritten with an empty array. \n\n #### Declaration\n\n Swift \n\n class func arrayRemove(_ elements: [Any]) -\u003e Self\n\n #### Parameters\n\n |------------------|----------------------------------------|\n | ` `*elements*` ` | The elements to remove from the array. |\n\n #### Return Value\n\n The `FieldValue` sentinel for use in a call to `setData()` or `updateData()`.\n- `\n ``\n ``\n `\n\n ### [increment(_:)](#/c:objc(cs)FIRFieldValue(cm)fieldValueForDoubleIncrement:)\n\n `\n ` \n Returns a special value that can be used with `setData()` or `updateData()` that tells the server\n to increment the field's current value by the given value.\n\n If the current value is an integer or a double, both the current and the given value will be\n interpreted as doubles and all arithmetic will follow IEEE 754 semantics. Otherwise, the\n transformation will set the field to the given value. \n\n #### Declaration\n\n Swift \n\n class func increment(_ d: Double) -\u003e Self\n\n #### Parameters\n\n |-----------|-----------------------------------|\n | ` `*d*` ` | The double value to increment by. |\n\n #### Return Value\n\n The `FieldValue` sentinel for use in a call to `setData()` or `updateData()`.\n- `\n ``\n ``\n `\n\n ### [increment(_:)](#/c:objc(cs)FIRFieldValue(cm)fieldValueForIntegerIncrement:)\n\n `\n ` \n Returns a special value that can be used with `setData()` or `updateData()` that tells the server\n to increment the field's current value by the given value.\n\n If the current field value is an integer, possible integer overflows are resolved to LONG_MAX or\n LONG_MIN. If the current field value is a double, both values will be interpreted as doubles and\n the arithmetic will follow IEEE 754 semantics.\n\n If field is not an integer or double, or if the field does not yet exist, the transformation\n will set the field to the given value. \n\n #### Declaration\n\n Swift \n\n class func increment(_ l: Int64) -\u003e Self\n\n #### Parameters\n\n |-----------|------------------------------------|\n | ` `*l*` ` | The integer value to increment by. |\n\n #### Return Value\n\n The `FieldValue` sentinel for use in a call to `setData()` or `updateData()`.\n- `\n ``\n ``\n `\n\n ### [+vectorWithArray:](#/c:objc(cs)FIRFieldValue(cm)vectorWithArray:)\n\n `\n ` \n Creates a new `VectorValue` constructed with a copy of the given array of NSNumbers. \n\n #### Parameters\n\n |---------------|-------------------------------------------------------------------------|\n | ` `*array*` ` | Create a `VectorValue` instance with a copy of this array of NSNumbers. |\n\n #### Return Value\n\n A new `VectorValue` constructed with a copy of the given array of NSNumbers.\n- `\n ``\n ``\n `\n\n ### [vector(_:)](#/s:So13FIRFieldValueC17FirebaseFirestoreE6vectorySo09FIRVectorB0CSaySdGFZ)\n\n `\n ` \n Creates a new `VectorValue` constructed with a copy of the given array of Doubles. \n\n #### Declaration\n\n Swift \n\n static func vector(_ array: [Double]) -\u003e VectorValue\n\n #### Parameters\n\n |---------------|----------------------|\n | ` `*array*` ` | An array of Doubles. |\n\n #### Return Value\n\n A new `VectorValue` constructed with a copy of the given array of Doubles.\n- `\n ``\n ``\n `\n\n ### [vector(_:)](#/s:So13FIRFieldValueC17FirebaseFirestoreE6vectorySo09FIRVectorB0CSaySfGFZ)\n\n `\n ` \n Creates a new `VectorValue` constructed with a copy of the given array of Floats. \n\n #### Declaration\n\n Swift \n\n static func vector(_ array: [Float]) -\u003e VectorValue\n\n #### Parameters\n\n |---------------|---------------------|\n | ` `*array*` ` | An array of Floats. |\n\n #### Return Value\n\n A new `VectorValue` constructed with a copy of the given array of Floats."]]