【问题标题】:Flutter/Dart/Firestore : How to create subcollections and add data to Firestore?Flutter/Dart/Firestore:如何创建子集合并将数据添加到 Firestore?
【发布时间】:2023-03-24 19:29:01
【问题描述】:

在我的应用程序的注册部分,当用户创建“familyAccount”时,我会在 Firestore 中为此帐户创建“条目”。它包括添加一些关于帐户本身的信息,然后创建一个名为 users 的子集合,并向该子集合“User1”和“User2”添加两个文档以及信息。我分三步完成:

代码如下:

final newUser =
    await _auth.createUserWithEmailAndPassword(
        email: email, password: passWord);
if (newUser != null) {
  _fireStore
      .collection('familyAccounts')
      .doc(email)
      .set({
    'name': '$name $firstName',
    'country': country,
    'region': region,
  });
  _fireStore
      .collection('familyAccounts')
      .doc(email)
      .collection('users')
      .doc('user1')
      .set({
    'userId': 'utilisateur1',
    'teacherCode': '',
    'avatar': 'avatar.jpg',
    'vocLists': [],
  });
  _fireStore
      .collection('familyAccounts')
      .doc(email)
      .collection('users')
      .doc('user2')
      .set({
    'userId': 'utilisateur2',
    'teacherCode': '',
    'avatar': 'avatar.jpg',
    'vocLists': [],
  });

它工作正常,但我想知道这是否可以在单个 _fireStore 操作中完成?

另外:如果我想更新“User2”中的“头像”,我需要使用哪一行代码?

【问题讨论】:

    标签: flutter google-cloud-firestore


    【解决方案1】:

    虽然您可以使用 batch write 执行此操作,但这并没有真正的好处,因为批处理中的每个操作都单独计入您的 Cloud Firestore 使用量,并且您现在执行此操作的方式不太容易出现故障。

    要在User2 中更新avatar,请尝试使用update statement 引用子集合中的正确文档。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-27
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多