Type parameters
-
T
Index
Methods
Methods
fromFirestore
-
Called by the Firestore SDK to convert Firestore data into an object of type T. You can access your data by calling:
snapshot.data(options)
.Parameters
-
snapshot: QueryDocumentSnapshot
A QueryDocumentSnapshot containing your data and metadata.
-
options: SnapshotOptions
The SnapshotOptions from the initial call to
data()
.
Returns T
-
toFirestore
-
Called by the Firestore SDK to convert a custom model object of type T into a plain Javascript object (suitable for writing directly to the Firestore database). To use
set()
withmerge
andmergeFields
,toFirestore()
must be defined withPartial<T>
.Parameters
-
modelObject: T
Returns DocumentData
-
-
Parameters
-
modelObject: Partial<T>
-
options: SetOptions
Returns DocumentData
-
Converter used by
withConverter()
to transform user objects of type T into Firestore data.Using the converter allows you to specify generic type arguments when storing and retrieving objects from Firestore.
class Post { constructor(readonly title: string, readonly author: string) {} toString(): string { return this.title + ', by ' + this.author; } } const postConverter = { toFirestore(post: Post): firebase.firestore.DocumentData { return {title: post.title, author: post.author}; }, fromFirestore( snapshot: firebase.firestore.QueryDocumentSnapshot, options: firebase.firestore.SnapshotOptions ): Post { const data = snapshot.data(options)!; return new Post(data.title, data.author); } }; const postSnap = await firebase.firestore() .collection('posts') .withConverter(postConverter) .doc().get(); const post = postSnap.data(); if (post !== undefined) { post.title; // string post.toString(); // Should be defined post.someNonExistentProperty; // TS error }