我想有一个列表包含的ID的文件在一个集合使用的id作为字符串与其他东西比较,但我找不到这样做的方式我写了以下内容
final firebaseid = FirebaseFirestore.instance.collection('Guests').get().then((value) { var id = value; print(id); });
但我没能拿到文件ID
qltillow1#
你可以像这样得到一个集合中所有id的列表:
void getAllGuestsIds() async { final docIds = await FirebaseFirestore.instance.collection('Guests').get().then( (value) => value.docs.map((e) => e.id).toList(), ); //return or do something else with docIds }
qxgroojn2#
试试这个
CollectionReference _collectionRef = FirebaseFirestore.instance.collection('collection'); Future<void> getData() async { QuerySnapshot querySnapshot = await _collectionRef.get(); final allData = querySnapshot.docs.map((doc) => doc.data()).toList(); }
a2mppw5e3#
虽然Murat's answer将获取所有文档的数据,但您似乎需要获取文档ID。在这种情况下,您需要:
FirebaseFirestore.instance.collection('Guests').get().then((querySnapshot) { for (var doc in querySnapshot.docs) { var id = doc.id; print(id); } });
这里最大的区别是,代码处理了calling get on a CollectionReference的结果是QuerySnapshot的事实,你需要循环它的docs来获取每个单独的文档。这也在Firebase文档中显示了获取集合中的所有文档。
get
CollectionReference
QuerySnapshot
docs
3条答案
按热度按时间qltillow1#
你可以像这样得到一个集合中所有id的列表:
qxgroojn2#
试试这个
a2mppw5e3#
虽然Murat's answer将获取所有文档的数据,但您似乎需要获取文档ID。在这种情况下,您需要:
这里最大的区别是,代码处理了calling
get
on aCollectionReference
的结果是QuerySnapshot
的事实,你需要循环它的docs
来获取每个单独的文档。这也在Firebase文档中显示了获取集合中的所有文档。