Firebase Firestore 子集合

Posted

技术标签:

【中文标题】Firebase Firestore 子集合【英文标题】:Firebase Firstore subcollection 【发布时间】:2020-08-19 15:16:54 【问题描述】:

请问如何在 Flutter 中获取我的 IndividualTaxData 子集合的所有值。

【问题讨论】:

请编辑问题以显示您尝试过的未按预期方式工作的内容。我建议从文档开始。 pub.dev/packages/cloud_firestore 【参考方案1】:

为了让你返回一个简单的文档,你可以使用下面的代码。

var document = await Firestore.instance.collection('IndividualTaxData').document('<document_name>');
document.get() => then(function(document) 
    print(document('character'));
    // you can print other fields from your document

使用上面的代码,您将引用您的集合IndividualTaxData,然后将其数据加载到可以打印值的变量中。

如果你想从你的集合中检索所有的文档,你可以开始使用下面的代码。

final QuerySnapshot result = await Firestore.instance.collection('IndividualTaxData').getDocuments();
final List<DocumentSnapshot> documents = result.documents;

documents.forEach((data) => print(data));
// This print is just an example of it.

这样,您可以将所有文档加载到一个列表中,然后进行迭代和打印 - 或者您可以使用其他方法。

除此之外,作为将来的参考,我建议您也检查以下链接。

Query a single document from Firestore in Flutter (cloud_firestore Plugin) How to use Cloud Firestore with Flutter

如果这些信息对您有帮助,请告诉我!

【讨论】:

谢谢,但我想查询多个文档 嗨@nonsoedu,我根据您的评论更新了我的答案。 再次感谢,我会试试这个......只是为了确定......这对子收藏有用 非常感谢我使用flutter cloud_firestore 类、CollectionReference 类来存储我的查询我认为它为我完成了大部分繁重的工作...... 太棒了@nonsoedu!如果您认为我的回答对您有所帮助,请考虑接受或点赞。【参考方案2】:

首先,你必须得到对父文档的引用:

DocumentReference parentRef = Firestore.intances.collection('TaxData').document(taxDataId);

您可以通过直接引用文档(如上面的代码)或查询来完成前一部分。稍后,您必须获取子集合的引用以及您获取信息的文档:

DocumentReference subRef = parentRef.collection('IndividualTaxData').document(individualTaxId);

最后,获取数据:

DocumentSnapshot docSnap = await subRef.get();

【讨论】:

非常感谢,但是父引用的目的是什么,我没有看到它在您的代码中的任何地方使用 错误来自我的路径...非常感谢,但我不得不问为什么使用文档引用而不是集合引用

以上是关于Firebase Firestore 子集合的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 react-redux-firebase 从 firestore 获取子集合

新的 Firebase Firestore DocumentDb 如何为大型子集合建模

如何将子集合添加到 Firebase Cloud Firestore 中的文档

如何在 Firebase + Firestore + Flutter 中使用 StreamBuilder 将所有子集合数据获取到 Widget

如何遍历 Firestore(React 和 Firebase Web 应用程序)中的多个用户子集合?

从Firebase的Cloud Firestore删除文档是否会删除该文档中的所有子集合?