findDocSnapshot method
Finds a DocumentSnapshot
of type Map<String, dynamic> based on given id
.
Make sure to have specified the _toJson
and _fromJson
methods or else the FirestoreApi
will not now how to convert the data to T
.
If _tryAddLocalId
is true then your data will also contain a local id field based
on the _idFieldName
specified in the constructor. Add this id field to your T
and you will
have easy access to the document id at any time.
If _tryAddLocalDocumentReference
is true then your data will also contain a local reference field based
on the _documentReferenceFieldName
specified in the constructor. Add this reference field to your T
and you will
have easy access to the document reference at any time.
If you rather want to retrieve data in the form of T
consider using the
findDocSnapshotWithConverter method instead.
Implementation
Future<DocumentSnapshot<Map<String, dynamic>>> findDocSnapshot({
required String id,
String? collectionPathOverride,
}) async {
assert(
_isCollectionGroup == (collectionPathOverride != null),
'Firestore does not support finding a document by id when communicating with a collection group, '
'therefore, you must specify the collectionPathOverride containing all parent collection and document ids '
'in order to make this method work.',
);
final docRef = findDocRef(id: id, collectionPathOverride: collectionPathOverride);
_log.info(
'🔥 Finding ${collectionPathOverride ?? _collectionPath()} DocumentSnapshot without converter and id: $id..');
return docRef.get();
}