DocumentSnapshot
class DocumentSnapshot : NSObject, @unchecked SendableA DocumentSnapshot contains data read from a document in your Firestore database. The data
can be extracted with the data property or by using subscript syntax to access a specific
field.
For a DocumentSnapshot that points to a non-existing document, any data access will return
nil. You can use the exists property to explicitly verify a documents existence.
-
True if the document exists.
Declaration
Swift
var exists: Bool { get } -
A
DocumentReferenceto the document location.Declaration
Swift
var reference: FIRDocumentReference { get } -
The ID of the document for which this
DocumentSnapshotcontains data.Declaration
Swift
var documentID: String { get } -
Metadata about this snapshot concerning its source and if it has local modifications.
Declaration
Swift
var metadata: FIRSnapshotMetadata { get } -
Retrieves all fields in the document as a
Dictionary. Returnsnilif the document doesn’t exist.Server-provided timestamps that have not yet been set to their final value will be returned as
NSNull. You can use thedata(with:)method to configure this behavior.Declaration
Swift
func data() -> [String : Any]?Return Value
A
Dictionarycontaining all fields in the document ornilif the document doesn’t exist. -
Retrieves all fields in the document as a
Dictionary. Returnsnilif the document doesn’t exist.Declaration
Swift
func data(with serverTimestampBehavior: ServerTimestampBehavior) -> [String : Any]?Parameters
serverTimestampBehaviorConfigures how server timestamps that have not yet been set to their final value are returned from the snapshot.
Return Value
A
Dictionarycontaining all fields in the document ornilif the document doesn’t exist. -
Retrieves a specific field from the document. Returns
nilif the document or the field doesn’t exist.The timestamps that have not yet been set to their final value will be returned as
NSNull. You can useget(_:serverTimestampBehavior:)to configure this behavior.Declaration
Swift
func get(_ field: Any) -> Any?Parameters
fieldThe field to retrieve.
Return Value
The value contained in the field or
nilif the document or field doesn’t exist. -
Retrieves a specific field from the document. Returns
nilif the document or the field doesn’t exist.The timestamps that have not yet been set to their final value will be returned as
NSNull. You can useget(_:serverTimestampBehavior:)to configure this behavior.Declaration
Swift
func get(_ field: Any, serverTimestampBehavior: ServerTimestampBehavior) -> Any?Parameters
fieldThe field to retrieve.
serverTimestampBehaviorConfigures how server timestamps that have not yet been set to their final value are returned from the snapshot.
Return Value
The value contained in the field or
nilif the document or field doesn’t exist. -
Retrieves a specific field from the document.
Declaration
Swift
subscript(key: Any) -> Any? { get }Parameters
keyThe field to retrieve.
Return Value
The value contained in the field or
nilif the document or field doesn’t exist. -
Retrieves all fields in a document and converts them to an instance of caller-specified type.
By default, server-provided timestamps that have not yet been set to their final value will be returned as
NSNull. PassserverTimestampBehaviorto configure this behavior.See
Firestore.Decoderfor more details about the decoding process.Declaration
Swift
func data<T: Decodable>(as type: T.Type, with serverTimestampBehavior: ServerTimestampBehavior = .none, decoder: Firestore.Decoder = .init()) throws -> T