有没有办法使用Flutter在Firestore中读取嵌套集合?我有以下数据结构
Users:
- userId:
- name: value,
- surname: value;
- addresses:
- addressId:
- street:value,
- city: value
我可以使用以下代码阅读第一个集合:
Firestore.instance.collection("users").document("userId")
.snapshots().listen((snapShot) {});
我有没有办法从上面的代码访问地址,或者我必须运行另一个直接获取如下地址的命令:
Firestore.instance.collection("users").document("userId").
collections("addresses").snapshots().listen((snapShot) {});
答案 0 :(得分:1)
从Firestore读取文档不会自动从该文档的子集合中读取数据。如果您需要来自子集的数据,则需要另外阅读。
答案 1 :(得分:0)
我正在阅读Firestore中的嵌套集合以填充Expansion小部件。在https://stackoverflow.com/a/51057195/5013735
中查看我的解决方案诀窍在于创建一个像这样的结构:
List<Widget> _getChildren() {
List<Widget> children = [];
documents.forEach((doc) {
children.add(
ProjectsExpansionTile(
name: doc['name'],
projectKey: doc.documentID,
firestore: firestore,
),
);
});
return children;
}