web-dev-qa-db-ja.com

フラッターファイアストア、新しいオブジェクトを配列に追加

オブジェクトの配列があります。ユーザーが配列に新しいデータを入力したときに新しいオブジェクトを追加しますか?

Firestore.instance.collection(city).document('Attractions').updateData(
                        "data", FieldValue.arrayUnion(obj)
                      );

これはエラーを示しています。フラッターを使用してこれをどのように達成できますか?

9
Sami Ullah

正しい形式は次のとおりです。

Firestore.instance.collection(city).document('Attractions').updateData({"data": FieldValue.arrayUnion(obj)});

updateData取るMap<String,dynamic>データとして。

あなたのコードでは,キー間の区切り記号-代わりに値:

2
anmol.majhail

@ anmol.majhailは正しいですが、@ Sami Ullahの問題を解決するには、まずリストを作成し、次のようにオブジェクトをリストに追加する必要があります。

var list = List<ObjectType>();
list.add(obj);
Firestore.instance.collection('city').document('Attractions').updateData({"data": FieldValue.arrayUnion(obj)});

1
Jack