【问题标题】:Adding an object in a object of arrays in Angular/Firebase在 Angular/Firebase 的数组对象中添加对象
【发布时间】:2019-11-21 10:31:14
【问题描述】:

如何将对象添加到 firebase 中的对象数组中? 我可以使用这段代码创建一个对象数组,但我不能向其中添加对象。

    return this.db.doc(`Users/${userCredential.user.uid}`).set({
      email: this.newUser.email,
      firstname: this.newUser.firstName,
      lastname: this.newUser.lastName,
      balance: this.newUser.balance,
      movimentos: [
        { valor: 69, tipo_movimento: 'Débito' },
        { valor: 19, tipo_movimento: 'Crédito' },
        { valor: 29, tipo_movimento: 'Débito' },
      ]
    })
  }

我尝试在数组中添加一个对象:

    return this.db.collection(`Users/${userKey}`).add({
      movimentos: [
        { valor: 6669, tipo_movimento: 'Débito' },
      ]
    });
  }

【问题讨论】:

    标签: javascript angular firebase google-cloud-firestore


    【解决方案1】:

    如果你想给数组添加一个唯一的对象,你可以使用array-union操作符。

    this.db.doc(`Users/${userCredential.user.uid}`).update({
        movimentos: firebase.firestore.FieldValue.arrayUnion(
            { valor: 69, tipo_movimento: 'Débito' },
            { valor: 19, tipo_movimento: 'Crédito' },
            { valor: 29, tipo_movimento: 'Débito' }
        )
    });
    

    另请参阅 updating elements in an array 上的 Firebase 文档。

    【讨论】:

      【解决方案2】:

      如果您使用 Firebase,则必须更新整个对象。因此,您需要提取整个对象,使用 .push() 在数组中添加一个值,然后上传您的对象

      【讨论】:

      • 你能举个例子说明我可以提取整个对象吗?
      猜你喜欢
      • 1970-01-01
      • 2020-05-23
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      • 2019-07-20
      • 1970-01-01
      • 2020-03-28
      • 1970-01-01
      相关资源
      最近更新 更多