Firestore: add or remove elements to existing array with Flutter

Viewed 2069

Is it possible to add or delete elements to an existing array stored in a Firestore document instead of fetching the array, add the element locally and send it back to the store?

1 Answers

Hopefully, yes.

You can append or remove an element using the method update() in combination with FieldValue.arrayUnion([element]) or FieldValue.arrayRemove([element]).

Example:

Future<void> appendToArray(String id, dynamic element) async {
  _firestore.collection(RootKey).doc(id).update({
    'myArrayField': FieldValue.arrayUnion([element]),
  });
}

Future<void> removeFromArray(String id, dynamic element) async {
  _firestore.collection(RootKey).doc(id).update({
    'myArrayField': FieldValue.arrayRemove([element]),
  });
}
Related