gpt4 book ai didi

javascript - 如何在 Firestore 文档中保存对 Firebase Auth 用户的引用?

转载 作者:数据小太阳 更新时间:2023-10-29 05:37:26 24 4
gpt4 key购买 nike

所以我有一个应用程序,您可以在其中注册和登录。我使用 Firebase Auth 做到了这一点。

然后我有一个 Firestore,其中有多个集合,例如“请求”和“要约”。我的应用程序中的 Firebase 授权用户可以创建新的请求,我是这样添加的:

    firestore
.collection('requests')
.add({
category: 'Test',
customer_id: this.props.appState.user.uid, // The uid from Firebase Auth
link: this.state.productLink
})
.then(docRef => {
console.log('Successfully saved!');
})
.catch(error => {
console.log(error);
});

如您所见,我想将用户 Firbase Auth uid 存储到请求中,以便稍后在我的应用中查询用户的请求。

问题是:这是正确的方法吗?此时我不想在我的 Firestore 中创建用户集合来为用户保存更多数据。在这种情况下,我可以添加一个以 uid 作为键的文档,然后在“请求”集合中保存对用户的引用。但在目前的情况下,我不能或者至少我还没有找到办法,阅读文档并搜索谷歌。

最佳答案

给出这个答案以避免人们不得不通读评论对话。

最佳途径是创建一个名为 users 的集合,其中文档 ID 是来自 Authentication 的用户的 uid。最简单的方法是在新注册时执行此操作,您可以在处理新用户注册的地方执行此操作,或者您可以查看 Cloud Functions,它会寻找新的身份验证并像这样运行该功能:

exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
// ...
});

此处的文档:https://firebase.google.com/docs/functions/auth-events

无论有没有用户集合,只要您始终有办法检索用户信息,就可以像示例中那样存储 UID。创建 users 集合使得操作您为用户存储的数据类型更加灵活(因为标准 auth 对象的灵 active 为零,这是有充分理由的)。

关于javascript - 如何在 Firestore 文档中保存对 Firebase Auth 用户的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49006185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com