FIRDocumentReference


@interface FIRDocumentReference : NSObject

A FIRDocumentReference refers to a document location in a Firestore database and can be used to write, read, or listen to the location. The document at the referenced location may or may not exist. A FIRDocumentReference can also be used to create a FIRCollectionReference to a subcollection.

  • The ID of the document referred to.

    Declaration

    Objective-C

    @property (readonly, strong, nonatomic) NSString *_Nonnull documentID;
  • A reference to the collection to which this DocumentReference belongs.

    Declaration

    Objective-C

    @property (readonly, strong, nonatomic) FIRCollectionReference *_Nonnull parent;
  • The FIRFirestore for the Firestore database (useful for performing transactions, etc.).

    Declaration

    Objective-C

    @property (readonly, strong, nonatomic) FIRFirestore *_Nonnull firestore;
  • A string representing the path of the referenced document (relative to the root of the database).

    Declaration

    Objective-C

    @property (readonly, strong, nonatomic) NSString *_Nonnull path;
  • Gets a FIRCollectionReference referring to the collection at the specified path, relative to this document.

    Declaration

    Objective-C

    - (nonnull FIRCollectionReference *)collectionWithPath:
        (nonnull NSString *)collectionPath;

    Parameters

    collectionPath

    The slash-separated relative path of the collection for which to get a FIRCollectionReference.

    Return Value

    The FIRCollectionReference at the specified collectionPath.

  • Writes to the document referred to by FIRDocumentReference. If the document doesn’t yet exist, this method creates it and then sets the data. If the document exists, this method overwrites the document data with the new values.

    Declaration

    Objective-C

    - (void)setData:(nonnull NSDictionary<NSString *, id> *)documentData;

    Parameters

    documentData

    An NSDictionary that contains the fields and data to write to the document.

  • Writes to the document referred to by this DocumentReference. If the document does not yet exist, it will be created. If you pass merge:YES, the provided data will be merged into any existing document.

    Declaration

    Objective-C

    - (void)setData:(nonnull NSDictionary<NSString *, id> *)documentData
              merge:(BOOL)merge;

    Parameters

    documentData

    An NSDictionary that contains the fields and data to write to the document.

    merge

    Whether to merge the provided data into any existing document.

  • Writes to the document referred to by document and only replace the fields specified under mergeFields. Any field that is not specified in mergeFields is ignored and remains untouched. If the document doesn’t yet exist, this method creates it and then sets the data.

    It is an error to include a field in mergeFields that does not have a corresponding value in the data dictionary.

    Declaration

    Objective-C

    - (void)setData:(nonnull NSDictionary<NSString *, id> *)documentData
        mergeFields:(nonnull NSArray<id> *)mergeFields;

    Parameters

    documentData

    An NSDictionary containing the fields that make up the document to be written.

    mergeFields

    An NSArray that contains a list of NSString or FIRFieldPath elements specifying which fields to merge. Fields can contain dots to reference nested fields within the document.

  • Overwrites the document referred to by this FIRDocumentReference. If no document exists, it is created. If a document already exists, it is overwritten.

    Declaration

    Objective-C

    - (void)setData:(nonnull NSDictionary<NSString *, id> *)documentData
         completion:(nullable void (^)(NSError *_Nullable))completion;

    Parameters

    documentData

    An NSDictionary containing the fields that make up the document to be written.

    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.

  • Writes to the document referred to by this DocumentReference. If the document does not yet exist, it will be created. If you pass merge:YES, the provided data will be merged into any existing document.

    Declaration

    Objective-C

    - (void)setData:(nonnull NSDictionary<NSString *, id> *)documentData
              merge:(BOOL)merge
         completion:(nullable void (^)(NSError *_Nullable))completion;

    Parameters

    documentData

    An NSDictionary containing the fields that make up the document to be written.

    merge

    Whether to merge the provided data into any existing document.