Я использую 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.Кто-нибудь может помочь с этим?