我可以从Firestore读取数据,但是不能写入数据。 我确认从Firebase控制台未调用这些编写功能。该问题发生在本地。如何写数据?
Future updateFavoriteArtists(List<Map> artists) async {
List newlist = artists.map((e) => e['id']).toList();
var ref =
_db.collection('users').document(uid).collection('favorite_artists');
var qs = await ref.getDocuments(); // this can read data.
List<DocumentSnapshot> toDeleteList = List.from(qs.documents);
toDeleteList.map((e) async => await e.reference.delete()); // this cannot delete data.
List<Map> toAddList = List.from(artists);
toAddList.map((e) {
ref.document(e['id']).setData({'id': e['id'], 'name': e['name']}); // this cannot set data.
});
}
答案 0 :(得分:0)
此问题通过将toAddList.map
更改为toAddList.forEach
来解决。 map函数只会返回Iteration,直到有人调用它才会对其进行评估。