首页 > 解决方案 > 如何在 Flutter 的 Firestore 中向数组中添加相等的元素?

问题描述

我刚刚在 Flutter 中发现了这一点

List<int> values = [1,2,3,1,2,3];
Firestore.instance.path.updateData({"values": FieldValue.arrayUnion(values)});

生成 Firestore 数组

(Firestore Array) [1,2,3]

显然,这些值以某种方式映射,删除了重复值,尽管我可以在 Firebase 面板中在线手动添加重复值(数据类型分别称为数组)。

有没有办法绕过这种行为或者这是一个错误?

标签: arraysfirebasefirebase-realtime-databasefluttergoogle-cloud-firestore

解决方案


根据此处的文档,数组联合只会添加不存在的元素。因为您使用的 Firestore 函数旨在仅添加新的唯一值,所以它会以这种方式运行而不会被绕过。不过,您当然可以绕过此功能,但必须先调用文档、检索数组并在将其更新到 Firestore 之前附加它。


推荐阅读