データを読むことはできていますが、削除とセットすることができません。Firebaseコンソール上でも関数が呼ばれていないことがわかっているので、ローカルの問題でしょう。どうすれば良いのか検討がつかないので何か糸口でも教えていただきたいです。
データの更新ではなく、Sub collectionの中身を一旦削除、新しいデータをセットしています。
dart
1Future updateFavoriteArtists(List<Map> artists) async { 2 List newlist = artists.map((e) => e['id']).toList(); 3 4 var ref = 5 _db.collection('users').document(uid).collection('favorite_artists'); 6 7 var qs = await ref.getDocuments(); // this can read data. 8 List<DocumentSnapshot> toDeleteList = List.from(qs.documents); 9 toDeleteList.map((e) async => await e.reference.delete()); // this cannot delete data. 10 11 List<Map> toAddList = List.from(artists); 12 toAddList.map((e) { 13 ref.document(e['id']).setData({'id': e['id'], 'name': e['name']}); // this cannot set data. 14 }); 15 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。