deleteDocumentsByQuery method

Future<bool> deleteDocumentsByQuery(
  1. Query<Object?> query
)

Deletes existing documents from Firebase.

query is query. If document will match that particular query it will be deleted.

Implementation

Future<bool> deleteDocumentsByQuery(Query query) async {
  try {
    _loggingService.log('FirestoreHelper.deleteDocumentsByQuery: Deleting. Query: ${query.parameters}');
    final querySnapshot = await query.get();
    final futures = <Future>[];

    querySnapshot.docs.forEach((element) {
      _loggingService.log('FirestoreHelper.deleteDocumentsByQuery: Deleting. DocId: ${element.id}');
      futures.add(element.reference.delete());
    });

    await Future.wait(futures);

    return true;
  } catch (e, s) {
    _loggingService.log('FirestoreHelper.deleteDocumentsByQuery: Exception: $e. StackTrace: $s', logType: LogType.error);
    return false;
  }
}