【发布时间】:2021-11-10 18:06:40
【问题描述】:
我不知道如何从 Flutter 中的 QueryDocumentSnapshot 对象中访问一个字符串列表字段。
如果我像element['tags'][0] 那样直接访问列表中的项目,它会起作用
有没有办法将“标签”字段添加到字符串列表中?或者通过单独获取每个项目来获取列表的大小以重新创建它?
Future<UserData> getUserData() async {
QuerySnapshot userExpenses = await getUserExpenses();
List<Expense> expenses = [];
userExpenses.docs.forEach((element) {
Expense e = new Expense();
e.description = element.get('description');
e.price = element.get('price');
e.tags = [];
e.tags.add(element.get('tags')[0]);
e.id = element.id;
expenses.add(e);
});
........
}
Future<QuerySnapshot> getUserExpenses() async {
return FirebaseFirestore.instance
.collection('expenses')
.where('uuid', isEqualTo: FirebaseAuth.instance.currentUser?.uid)
.get();
}
class Expense {
late String id;
late String price;
late String description;
late List<String> tags;
}
【问题讨论】:
-
您能否再分享一点,例如您的代码,以及文档在 firebase 中的外观以及您要访问的字符串的屏幕截图。
-
@HuthaifaMuayyad 如何在不知道 firestore 中有多少的情况下填充费用对象中的标签列表?
-
@adi.neag 我的answer 对您的问题有帮助吗?
标签: flutter dart google-cloud-firestore