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?
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?
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]),
});
}