Firestore:使用 Flutter 添加或删除现有数组中的元素

Tri*_*lot 6 dart firebase flutter google-cloud-firestore

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

Tri*_*lot 11

希望是的。

您可以结合使用 update() 方法和FieldValue.arrayUnion([element])或来附加或删除元素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]),
  });
}
Run Code Online (Sandbox Code Playgroud)