【问题标题】:Get DocumentID after adding data to Firestore - Flutter, Firebase将数据添加到 Firestore 后获取 DocumentID - Flutter、Firebase
【发布时间】:2021-06-23 16:06:46
【问题描述】:

您好,我的颤振项目存在以下问题: 我想在我的 Firebase Firestore 中保存一些数据。正如您在代码中看到的,当我单击一个按钮时,这两个字符串都保存在数据库中。我的问题是,如何获取已保存值的 DocumentID?我已经在堆栈溢出中找到了一些答案,但我认为 Firebase 非常复杂,所以我也想用我的代码来询问。

class _HomeStatefulState extends State<HomeStateful> {
  final firestoreInstance = FirebaseFirestore.instance;
  CollectionReference users = FirebaseFirestore.instance.collection('users');

  Future<void> addUser() {
    return users.add({
      'firstname': firstnameController.text, 
      'name': nameController.text, 
    })
        .then((value) => print("User Added"))
        .catchError((error) => print("Failed to add user: $error"));

  }

【问题讨论】:

    标签: firebase flutter google-cloud-firestore


    【解决方案1】:

    add()Future 返回的value 实际上是一个DocumentReference。所以你可以用它来获取它的id:

      Future<void> addUser() {
        return users.add({
          'firstname': firstnameController.text, 
          'name': nameController.text, 
        })
            .then((value) => print("User Added, id = " + value.id))
            .catchError((error) => print("Failed to add user: $error"));
    
      }
    

    【讨论】:

    • 完美。但还有一件事。例如,如何将其存储为字符串。
    • String documentId = value.id;
    猜你喜欢
    • 2021-01-08
    • 2018-09-24
    • 2020-11-08
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 2021-09-27
    • 2020-01-27
    相关资源
    最近更新 更多