onDocumentCreated method

void onDocumentCreated(
  1. Future<void> handler(
    1. FirestoreEvent<EmulatorDocumentSnapshot?> event
    ), {
  2. @mustBeConst required String document,
  3. @mustBeConst DocumentOptions? options,
})

Event handler that triggers when a document is created in Firestore.

The handler receives a FirestoreEvent containing an EmulatorDocumentSnapshot.

Example:

firebase.firestore.onDocumentCreated(
  document: 'users/{userId}',
  (event) async {
    // Access document data (similar to Node.js)
    final data = event.data?.data();
    print('User data: $data');
    print('User name: ${data?['name']}');

    // Access path parameters
    print('User ID: ${event.params['userId']}');

    // Access document metadata
    print('Document path: ${event.document}');
    print('Document ID: ${event.data?.id}');
  },
);

Implementation

void onDocumentCreated(
  Future<void> Function(FirestoreEvent<EmulatorDocumentSnapshot?> event)
  handler, {

  /// The Firestore document path to trigger on.
  /// Supports wildcards: 'users/{userId}', 'users/{userId}/posts/{postId}'
  // ignore: experimental_member_use
  @mustBeConst required String document,

  /// Options that can be set on an individual event-handling function.
  // ignore: experimental_member_use
  @mustBeConst DocumentOptions? options,
}) {
  _registerDocumentHandler(
    methodName: 'onDocumentCreated',
    document: document,
    validateEventType: _isFirestoreCreatedEvent,
    withAuthContext: false,
    handler: handler,
  );
}