Firebase默认存在metadata实时数据库表吗?示例存储方式可替换?
Firebase Realtime Database 中不存在默认的
metadata 节点 关于示例代码的说明
文档里的代码只是示例实现,Firebase 不会自动创建名为 metadata 的特殊实时数据库节点(实时数据库采用树形节点结构,而非传统数据库的“表”概念)。这个节点是开发者根据业务需求手动创建的,作用是在设置自定义用户声明后,给客户端一个可监听的信号,触发用户令牌的刷新。
能否改用 Firestore 存储这类信息?
完全可以。核心需求是在后端更新用户自定义声明后,提供一个客户端能实时监听的数据源,告知客户端令牌已变更需要刷新。不管用 Realtime Database 还是 Firestore,只要能实现这个监听通知的逻辑即可。
用 Firestore 实现的示例代码如下:
// 为新创建的用户设置自定义声明 await getAuth().setCustomUserClaims(user.uid, customClaims); // 更新 Firestore 文档以通知客户端触发刷新 const metadataDoc = getFirestore().collection('user_metadata').doc(user.uid); await metadataDoc.set({refreshTime: new Date().getTime()});
内容的提问来源于stack exchange,提问作者angelcervera
相关产品推荐
相关产品推荐

