devsite/tools/jazzy/templates

FirebaseFirestore Framework Reference

CollectionReference

class CollectionReference : Query, @unchecked Sendable

A CollectionReference object can be used for adding documents, getting document references, and querying for documents (using the methods inherited from Query).

  • ID of the referenced collection.

    Declaration

    Swift

    var collectionID: String { get }
  • For subcollections, parent returns the containing DocumentReference. For root collections, nil is returned.

    Declaration

    Swift

    var parent: FIRDocumentReference? { get }
  • A string containing the slash-separated path to this this CollectionReference (relative to the root of the database).

    Declaration

    Swift

    var path: String { get }
  • Returns a DocumentReference pointing to a new document with an auto-generated ID.

    Declaration

    Swift

    func document() -> FIRDocumentReference

    Return Value

    A DocumentReference pointing to a new document with an auto-generated ID.

  • Gets a DocumentReference referring to the document at the specified path, relative to this collection’s own path.

    Declaration

    Swift

    func document(_ documentPath: String) -> FIRDocumentReference

    Parameters

    documentPath

    The slash-separated relative path of the document for which to get a DocumentReference.

    Return Value

    The DocumentReference for the specified document path.

  • Adds a new document to this collection with the specified data, assigning it a document ID automatically.

    Declaration

    Swift

    func addDocument(data: [String : Any]) -> FIRDocumentReference

    Parameters

    data

    A Dictionary containing the data for the new document.

    Return Value

    A DocumentReference pointing to the newly created document.

  • Adds a new document to this collection with the specified data, assigning it a document ID automatically.

    Declaration

    Swift

    func addDocument(data: [String : Any], completion: (((any Error)?) -> Void)? = nil) -> FIRDocumentReference

    Parameters

    data

    A Dictionary containing the data for the new document.

    completion

    A block to execute once the document has been successfully written to the server. This block will not be called while the client is offline, though local changes will be visible immediately.

    Return Value

    A DocumentReference pointing to the newly created document.

  • Adds a new document to this collection with the specified data, assigning it a document ID automatically.

    Throws

    Error if the backend rejected the write.

    Declaration

    Swift

    @discardableResult
    func addDocument(data: [String : Any]) async throws -> DocumentReference

    Parameters

    data

    A Dictionary containing the data for the new document.

    Return Value

    A DocumentReference pointing to the newly created document.

  • Encodes an instance of Encodable and adds a new document to this collection with the encoded data, assigning it a document ID automatically.

    See Firestore.Encoder for more details about the encoding process.

    Declaration

    Swift

    @discardableResult
    func addDocument<T: Encodable>(from value: T,
                                   encoder: Firestore.Encoder = Firestore.Encoder(),
                                   completion: ((Error?) -> Void)? = nil) throws
      -> DocumentReference

    Parameters

    value

    An instance of Encodable to be encoded to a document.

    encoder

    An encoder instance to use to run the encoding.

    completion

    A block to execute once the document has been successfully written to the server. This block will not be called while the client is offline, though local changes will be visible immediately.

    Return Value

    A DocumentReference pointing to the newly created document.