Flutter & Firebase能否仅获取每个文档的指定字段(而非全量字段后过滤)
仅获取指定字段的实现方法
Firebase Firestore 支持通过字段投影功能只拉取你需要的字段,在Flutter的Firebase SDK里可以用select()方法实现,修改你的代码如下:
await collection.select(['age']).get().then((value) { for (QueryDocumentSnapshot doc in value.docs) { print(doc.get('age')); } });
补充说明
select()方法接收一个字段名数组,Firestore会只返回数组中指定的字段,避免拉取整个文档的冗余数据,减少网络传输量。- 如果需要同时获取多个字段,直接在数组中添加对应的字段名即可,比如
select(['age', 'name'])。 - 单个文档查询也支持该方法,比如
doc('目标文档ID').select(['age']).get(),同样能只获取指定字段。
内容的提问来源于stack exchange,提问作者Sittiphan Sittisak
相关产品推荐
相关产品推荐

