【问题标题】:How to access some fields of firestore in flutter? [duplicate]如何在flutter中访问firestore的某些字段? [复制]
【发布时间】:2019-04-03 23:44:36
【问题描述】:

这样说我的文档: -用户身份: -姓名 -地址 - 大量的大量数据。

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

我该怎么做?

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);
    }
  },
);

【问题讨论】:

  • 所有 Firebase 移动客户端始终读取整个文档。没有为移动客户端过滤字段的“投影”操作。
  • 好的,我明白了。无论如何,我不认为这是一个重复的问题,因为我在询问如何在 Flutter 上执行此操作,而您指的是 ios 问题。我的意思是,我没有检查那个问题,因为标题指定这是一个 ios 问题。
  • 因为答案对所有平台都是通用的,而且@Doug Stevenson 是 Firebase 的倡导者之一,所以你可以相信他的话 :)
  • 我信任他并同意。答案是一样的,但不是问题,stackoverflow 要求重复的问题。 “这个问题之前已经被问过并且已经有了答案”。我认为这不是真的。颤振开发人员搜索颤振或通用问题,但这个或另一个都不是通用的恕我直言(我说的是问题而不是答案)。但无论如何这只是我的意见,如果你愿意就这样离开

标签: firebase dart flutter google-cloud-firestore


【解决方案1】:

来自 Firebase 工程师的Official answer

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

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

【讨论】:

  • 好的,谢谢。近期有计划添加此功能吗?
  • 我认为这不会发生。 :)
猜你喜欢
  • 2021-08-06
  • 2020-08-28
  • 2020-01-14
  • 2019-03-24
  • 1970-01-01
  • 2018-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多