将数据添加到地图字段(Flutter Firestore)

时间:2020-04-25 20:20:58

标签: firebase flutter google-cloud-firestore

我正在使用cloud_firestore扑扑。我想按一下按钮添加到我的Firebase数据库的特定文档的地图字段(userInfo)。我不想添加任何其他字段,仅将更多数据追加到map(userInfo)。在这种情况下,使用此代码名始终是用户的唯一ID(用户ID)。

    Firestore.instance.collection("prayerRooms")
              .document(docID)
              .updateData({

              'userInfo.userId': name,
              'userInfo.userCount': 2


          }
          );

Here is the database in question

2 个答案:

答案 0 :(得分:0)

此代码:

 Firestore.instance.collection("prayerRooms")
              .document(docID)
              .updateData({
              'userInfo.userId': name,
              'userInfo.userCount': 2
          });

将同时更新userId映射内的userCountuserInfo。如果您想在userInfo地图内添加更多属性,则可以执行以下操作:

 Firestore.instance.collection("prayerRooms")
              .document(docID)
              .updateData({
              'userInfo.users': "user1",
          });

这将在地图内添加一个名为users的新属性。

答案 1 :(得分:0)

您可以为此使用 SetOptions(merge: true)

完整代码:

Firestore.instance.collection("prayerRooms")
      .document(docID)
      .set({
        'userInfo.userId': name,
        'userInfo.userCount': 2
      },
      SetOptions(merge: true),
    );