我想做类似的事情:
final collectionReference = Firestore.instance.collection('myCollection');
final List<String> documentList = collectionReference.getDocList();
OR
final query = collectionReference.orderBy('lastUpdated', descending: true).limit(100);
final List<String> documentList = query.getDocList();
当前,当我们使用get()
或query.getDocuments()
时,它将返回整个文档列表以及所有内容。但是您知道我们想优化读取,因此我们利用了每个文档的1MiB限制。因此,我们不想下载整个文档的内容。相反,我们只需要这些ID即可用于其他用途。有办法吗?
谢谢
答案 0 :(得分:1)
Flutter API(或任何Web或移动客户端)无法做到这一点。
唯一的方法是使用后端代码,在Query上有类似select()(链接到nodejs API)的方法,可让您选择要返回的文档字段。因此,您可以让您的应用程序调用后端以返回文档ID,但不能直接在应用程序中返回。
如果必须从客户端查询,请考虑将查询不必要的字段移动到具有相同ID的花药集合中的文档,并仅在需要时请求它们。