【问题标题】:Get Firestore document key with Flutter使用 Flutter 获取 Firestore 文档密钥
【发布时间】:2019-09-17 03:08:55
【问题描述】:

我从https://pub.dartlang.org/packages/cloud_firestore#-readme-tab- 获得了以下代码,但我不确定如何获取每个文档的密钥。我想要做的是点击每个术语以查看或进入编辑页面。

Firestore 数据模型:

-content
--sPuJxAJu0dBMZLBTakd4
---term
---body content

代码:

class _TermsState extends State<Terms> {
  @override
  Widget build(BuildContext context) {
    return StreamBuilder<QuerySnapshot>(
      stream: Firestore.instance.collection('content').snapshots(),
      builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
        if (snapshot.hasError) return Text('Error: ${snapshot.error}');

        switch (snapshot.connectionState) {
          case ConnectionState.waiting:
            return Text('Loading...');
          default:
            return ListView(
              children:
                  snapshot.data.documents.map((DocumentSnapshot document) {
                print(document['term']);
                return ListTile(
                  title: Text(document['term']),
                );
              }).toList(),
            );
        }
      },
    );
  }
}

【问题讨论】:

    标签: dart flutter google-cloud-firestore


    【解决方案1】:

    当你有一个DocumentSnapshot 时,你可以使用document.documentID 来获取它的keydocument.reference.path 来获取整个路径

    在这种情况下,document 是一个 DocumentSnapshot 类型的对象,您已经正确检索了它。

    【讨论】:

      【解决方案2】:

      creativecreatorormaybenot 对上述答案的更新,现在可以在DocumentSnapshotdocument.id 中找到文档 ID。 document.documentID 不会返回 id。

      这是我找到的答案的link

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-20
        • 2021-06-17
        • 1970-01-01
        • 2018-03-26
        • 2019-05-05
        • 2020-02-24
        相关资源
        最近更新 更多