Облачный пожарный магазин - добавление объекта в массив объектов - PullRequest
0 голосов
/ 05 декабря 2018

Я использую Cloud Firestore (не База данных в реальном времени).У меня есть документ с данными о пользователях, содержащий массив (карточек) пользовательских кредитных карточек, т.е. карточных объектов.Объект карты имеет следующую структуру:

{
    address: "123"
    number: "456643634634634"
    postcode: "hshshs"
}

Документ определяется следующим образом:

userDocument : AngularFirestoreDocument<User>;
this.userDocument = this.afs.collection('users').doc(`${this.userId}`);

Когда пользователь добавляет новую карту, я вызываю следующую функцию:

addCard(card: Card){
    this.userDocument.update({
        cards : firebase.firestore.FieldValue.arrayUnion(card)
    });
}

Однако я получаю ошибки еще до сохранения документа, говоря:

[ts]
Type 'FieldValue' is not assignable to type 'Card[]'.
  Property 'length' is missing in type 'FieldValue'. [2322]
user.model.ts(15, 5): The expected type comes from property 'cards' which is declared here on type 'Partial<User>'

Не уверен, как использовать arrayUnion для правильного добавления элемента в массив в Cloud Firestore.Кто-нибудь может помочь с этим?

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