首页 > 解决方案 > Cloud Firestore 在 Flutter 中的更新文档上添加文档集合

问题描述

我有 4 个屏幕,其中包含从用户获取信息的数据集合,在第一个屏幕中,我首先为用户数据设置集合:

CollectionReference addIfUser = FirebaseFirestore.instance.collection('influencerUser');
  Future<void> createRecord() {
    return addIfUser
        .doc(InUser.email)
        .set({
      'firstname': InUser.firstname,
      'lastname':InUser.lastname,
      'email': InUser.email,
    })
       

上面的这个实例为用户创建了第一个文档。

CollectionReference addDescription = FirebaseFirestore.instance.collection('influencerUser');
  Future<void> createRecord() {
    return addDescription
        .doc(InUser.email)
        .update({
      'description': InUser.description,
    })
        

上述实例更新现有文档,然后使用表单中的新数据更新集合。

现在在这个阶段用户可以开始创建帖子,但是这些帖子不必更新,它们必须一个一个添加,因为在列表中我将这些帖子显示为一个帖子列表,如 instagram。

所以我改为:

await FirebaseFirestore.instance.collection('influencerPost').add({
      "postimage": downloadPostImage,
      "postext": InUser.post,
      "description": InUser.description,
      'whatsapp': InUser.whatsapp,
      'facebook': InUser.facebook,
      'instagram': InUser.instagram,
      'youtube': InUser.youtube,
      'twitter': InUser.twitter,
      "avatarImage": widget.imageAvatar,
      'firstname': InUser.firstname,
      'lastname':InUser.lastname,
      'email': InUser.email,
      'blogAddress': InUser.blog,

    });

但显然没有更新版本,大多数数据都是空的连接 2 个集合。我还尝试检索 2 个集合是我的屏幕,其中有 2 个 StreamBuilder 和快照 1 和快照 2,但列表的长度返回错误,因为 2 个集合不匹配相同的长度。我希望很清楚

标签: fluttergoogle-cloud-firestorefirebase-authentication

解决方案


推荐阅读