是否可以将用户 ID 作为字段的键存储在 Firestore 文档中?

Is it possible to store a user id as the key of a field in a Firestore document?

所以我在官方 Firebase 频道的 "Get to know Firestore" youtube 系列中看到了这个,他们使用 userId 作为字段的键。但是,我似乎无法在我的项目中使用“firebase”重新创建它:“^9.6.6”和angular 13.0.4.

private async addMemberToGroupDetail(groupId: string) {
const groupRef = doc(this.firestore, 'groupDetail', groupId);
const userId = this.authService.userId;
updateDoc(groupRef, {
     roles: {
       `${userId}`: 'member',
     },
});

}

错误:属性 需要分配。

试试这个语法:

updateDoc(groupRef, {
     roles: {
       [`${userId}`]: 'member',
     },
});

可能只需要那些方括号来动态分配密钥。

正如@Frank 在评论中添加的,如果您不需要转换为字符串,您可以这样做:

[userId]: 'member'