FirestoreSource
enum FirestoreSource : UInt, @unchecked Sendable
An enum that configures the behavior of DocumentReference.getDocument()
and
Query.getDocuments()
. By providing a source enum the getDocument[s]
methods can be configured to fetch results only from the server, only from
the local cache, or attempt to fetch results from the server and fall back to
the cache (which is the default).
-
Causes Firestore to try to retrieve an up-to-date (server-retrieved) snapshot, but fall back to returning cached data if the server can’t be reached.
Declaration
Swift
case `default` = 0
-
Causes Firestore to avoid the cache, generating an error if the server cannot be reached. Note that the cache will still be updated if the server request succeeds. Also note that latency-compensation still takes effect, so any pending write operations will be visible in the returned data (merged into the server-provided data).
Declaration
Swift
case server = 1
-
Causes Firestore to immediately return a value from the cache, ignoring the server completely (implying that the returned value may be stale with respect to the value on the server). If there is no data in the cache to satisfy the
getDocument[s]
call,DocumentReference.getDocument()
will return an error andQuerySnapshot.getDocuments()
will return an emptyQuerySnapshot
with no documents.Declaration
Swift
case cache = 2