Запрошенное поведение:
Я хотел бы создать AngularService, который добавляет документ в Firestore с двумя полями.Первое поле - это карта, которая заполнена пользовательскими данными.Второе поле представляет собой массив карт.Она должна получить карту из первого поля в качестве первого элемента.
Текущее состояние
Функция создает и заполняет документ успешно, если я только добавлю карту (первое поле) изакомментируйте массив карт (второе поле).
Issue
Если я добавлю код для установки массива, функция больше не будет работать.Я получаю следующую ошибку, даже если оба поля вызываются с одинаковыми данными:
FirebaseError: Функция DocumentReference.set () вызвана с недопустимыми данными.Неподдерживаемое значение поля: не определено (находится в поле groupExecutiveBoard)
Как это исправить?Как я могу создать массив карт и нажать на него первую карту?
Моя модель:
export interface Group {
groupLeader?: {
groupLeaderID?: string;
groupLeaderName?: string;
groupLeaderImage?: string;
};
//array
groupExecutiveBoard?: {
boardMemberID?: string;
boardMemberName?: string;
boardMemberImage?: string;
}[];
}
Мой сервис
constructor(private angularFirestore: AngularFirestore) { }
addGroup(author: User) {
const groupsCollection = this.angularFirestore.collection<GroupID>('groups');
groupsCollection.add({
// sets groupleader if "GroupExecutiveBoard" is commented out
groupLeader: {
groupLeaderID: author.uid,
groupLeaderName: author.displayName,
groupLeaderImage: author.profilePhoto
},
//should set user data as first array item. Does not work
groupExecutiveBoard: {
boardMemberId: author.uid,
boardMemberName: author.displayName,
boardMemberImage: author.profilePhoto
}[0],
});
}