首页 > 解决方案 > Firestore:使用 Flutter 向现有数组添加或删除元素

问题描述

是否可以向存储在 Firestore 文档中的现有数组添加或删除元素,而不是获取数组,在本地添加元素并将其发送回商店?

标签: firebaseflutterdartgoogle-cloud-firestore

解决方案


希望,是的。

FieldValue.arrayUnion([element])您可以使用 update() 方法与or结合来追加或删除元素FieldValue.arrayRemove([element])

例子:

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

推荐阅读