FirebaseFirestore Framework Reference
Stay organized with collections
Save and categorize content based on your preferences.
FieldValue
class FieldValue : NSObject, @unchecked Sendable
Sentinel values that can be used when writing document fields with setData()
or updateData()
.
-
Used with updateData()
to mark a field for deletion.
Declaration
Swift
class func delete() -> Self
-
Used with setData()
or updateData()
to include a server-generated timestamp in the written
data.
Declaration
Swift
class func serverTimestamp() -> Self
-
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
class func arrayUnion(_ 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
class func arrayRemove(_ 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
class func increment(_ 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
class func increment(_ 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()
.
-
Creates a new VectorValue
constructed with a copy of the given array of NSNumbers.
Parameters
array
|
Create a VectorValue instance with a copy of this array of NSNumbers.
|
Return Value
A new VectorValue
constructed with a copy of the given array of NSNumbers.
-
Creates a new VectorValue
constructed with a copy of the given array of Doubles.
Declaration
Swift
static func vector(_ array: [Double]) -> VectorValue
Return Value
A new VectorValue
constructed with a copy of the given array of Doubles.
-
Creates a new VectorValue
constructed with a copy of the given array of Floats.
Declaration
Swift
static func vector(_ array: [Float]) -> VectorValue
Return Value
A new VectorValue
constructed with a copy of the given array of Floats.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-03-11 UTC.
[null,null,["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."]]