【发布时间】:2020-12-05 19:19:19
【问题描述】:
更新: 所以基本上这是我的 firebase 结构,我编辑了 users 集合以创建一个名为 ListaFavorite 的特殊列表,该列表显示用户将在其会话中添加的所有最喜欢的项目。问题是,我必须在原始 UserInterface 文件中定义与 firebase 完全相同的结构。
我声明的 favoriteObj 存储来自项目字段的值并将它们带到 firebase ,但是由于我不能在界面中使用对象,我如何将结构设置为 favoriteObj?
对不起,如果我没有说清楚,但这基本上就是我想要的。
我正在尝试匹配我的结构:
const favoriteObj = {};
favoriteObj[uniqID] = {
favorite_title: favorite_title,
favorite_description: favorite_description,
favorite_image: favorite_image,
favorite_tag: favorite_tag,
favorite_stoc: favorite_stoc,
favorite_reducere: favorite_reducere,
favorite_price: favorite_price,
favorite_userId: favorite_userId,
isFavorite: true,
};
从firebase到我的用户界面:
export interface User {
uid: string;
email: string;
displayName: string;
photoURL: string;
emailVerified: boolean;
FavoriteID: string;
SavedFavorite: boolean;
AddCosID: string;
SavedCos: boolean;
ListaFavorite: ... // here i must pass the favoriteObj
}
之后我必须在函数中包含更新数据:
SetUserData(user) {
const userRef: AngularFirestoreDocument<any> = this.afStore.doc(
`users/${user.uid}`
);
const userData: User = {
uid: user.uid,
email: user.email,
displayName: user.displayName,
photoURL: user.photoURL,
emailVerified: user.emailVerified,
FavoriteID: null,
SavedFavorite: null,
AddCosID: null,
SavedCos: null,
ListaFavorite : ...
};
return userRef.set(userData, {
merge: true,
});
}
我的意思是将收藏的对象标记到当前用户界面中,然后根据用户登录的收藏页面调用所有对象。 我真的不知道如何在那里传递 obj 。有什么帮助吗??
【问题讨论】:
-
尝试简化您的代码并提供一个最小的工作示例。如果你不努力准备你的问题,不要指望任何人来回答。
-
您好,感谢您的回答!我更新了我的问题。这就是我可以向您展示的所有可能对您有所帮助的内容。我没有任何工作示例,因为这是我无法运行程序的最后阶段。
标签: typescript firebase google-cloud-firestore angularfire2