AngularFire2:创建文档并设置地图数组

AngularFire2: Create document and set an array of maps

要求的行为:
我想创建一个 AngularService,它将一个文档添加到具有两个字段的 Firestore。第一个字段是一张地图,其中填充了用户数据。第二个字段是地图数组。它应该从第一个字段接收地图作为第一项。

当前状态
如果我只添加地图(第一个字段)并注释掉地图数组(第二个字段),该函数会成功创建和填充文档。

问题
如果我添加用于设置数组的代码,该函数将不再起作用。即使使用相同的数据调用两个字段,我也会收到以下错误:

FirebaseError: Function DocumentReference.set() called with invalid data. Unsupported field value: undefined (found in field 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],

  });
}

试试这个:

groupLeader: {
      groupLeaderID: author.uid,
      groupLeaderName: author.displayName,
      groupLeaderImage: author.profilePhoto
    },
groupExecutiveBoard: [{
      boardMemberId: author.uid,
      boardMemberName: author.displayName,
      boardMemberImage: author.profilePhoto
}],