Добавление объекта в массив массивов в Angular / Firebase - PullRequest
0 голосов
/ 21 ноября 2019

Как я могу добавить объект в массив объектов в 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' },
      ]
    });
  }

Ответы [ 2 ]

1 голос
/ 21 ноября 2019

Если вы хотите добавить уникальный объект в массив, вы можете использовать оператор 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' }
    )
});

Также см. Документацию Firebase по элементам обновленияв массиве .

0 голосов
/ 21 ноября 2019

Если вы работаете с Firebase, вам нужно обновить весь объект. Таким образом, вам нужно извлечь весь объект, добавить значение в массив с помощью .push (), а затем загрузить свой объект

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...