如何仅获取documentID [Firebase-Flutter]

时间:2020-07-13 18:09:18

标签: firebase flutter google-cloud-firestore

在我的Firebase数据库中,我有“用户”,每个用户都有他从其订购的多个商店,每个商店都有多个订单。 要获取特定商店的所有订单,我编写以下查询,它可以正常工作。

 QuerySnapshot result = await Firestore.instance
    .collection('users')
    .document(userID)
    .collection('Stores').
    document(storeID).getDocuments();

但是,我不需要。我只需要用户从中订购的商店。换句话说,我需要特定用户的storeID列表。

这是我的代码,但是不起作用。

QuerySnapshot result = await Firestore.instance
    .collection('users')
    .document(userID)
    .collection('Stores').getDocuments();

I just want the IDs

1 个答案:

答案 0 :(得分:0)

对于Web和移动客户端,无法仅获得ID,而无法获取全部文档及其数据。如果要获取集合或子集合中所有文档的所有ID的列表,则必须查询该集合,如第二个示例中当前所示。您可以轻松地从QuerySnapshot中返回的文档中提取ID。但是您仍然需要为馆藏中的每个文档支付阅读文档的费用,并等待其所有内容传输。

如果需要,您可以创建自己的use a server SDK to query for only the IDs后端端点API,并仅返回ID,但您仍需为读取的文档付费。