Flutter Firestore查询嵌套子集合

时间:2020-01-19 15:50:15

标签: firebase flutter dart google-cloud-firestore

我正在尝试查询Firebase中的子集合,但我总是得到一个空列表...

这是我的查询:

Firestore.instance.collection('messages').where('idFrom', isEqualTo: userID).snapshots();

我知道我在这里有一个子集合,另一个子集合。

/messages/RWzG98s92mVTZniofez6YoYsNhA3-tT2Q16n1FMZoTNZQOejtWuJdCmD2/RWzG98s92mVTZniofez6YoYsNhA3-tT2Q16n1FMZoTNZQOejtWuJdCmD2/1579394957103

我的问题是如何查询这些类型的模型?

enter image description here

1 个答案:

答案 0 :(得分:5)

由于Firstore查询始终很浅,因此您必须构建要查询的子集合的路径。

Firestore.instance
    .collection('messages')
    .document(...)   // ID of the nested document
    .collection(...).  // ID of the nested subcollection
    .where('idFrom', isEqualTo: userID);

无法避免提供这些嵌套ID。如果您无法确定要查询的子集合的完整路径,则将无法访问其文档。