如何在flutter中访问firestore的某些字段?

Isa*_*aac 2 dart firebase flutter google-cloud-firestore

像这样说我的文档: -user_id: -name -address - 大量繁重的数据。

我知道我可以获取整个文档并只显示我想要的字段,但我只需要从我的文档中检索姓名和地址,这样我的用户就可以节省带宽。

我怎样才能做到这一点?

PD:这就是我检索整个文档的方式。

return StreamBuilder(
  stream: Firestore.instance
      .collection('users')
      .document(widget.userId.toString())
      .snapshots(),
  builder: (context, snapshot) {
    if (!snapshot.hasData) {
      return Center(
        child: CircularProgressIndicator(
          valueColor: AlwaysStoppedAnimation<Color>(Colors.deepOrange),
        ),
      );
    } else {
      return _buildUserTile(context, snapshot.data);
    }
  },
);
Run Code Online (Sandbox Code Playgroud)

sal*_*ler 14

Firebase 工程师的官方回答

Cloud Firestore 始终读取并返回完整文档。无法读取文档中字段的子集。

您可以检索整个文档,然后处理 DocumentSnapshot 以仅使用您感兴趣的字段。但这意味着您使用的带宽超出了需要。如果您的应用经常出现这种情况,请考虑创建一个辅助集合,其中每个文档仅包含您感兴趣的字段。