我需要显示我朋友的状态。 我找到的解决方案如下。
方法1:--------------------
结构
idToken
代码
const dialogflow = require("actions-on-google");
const app = dialogflow({clientId: '94661...@apps.googleusercontent.com'});
app.getUserData(idToken); //this does not exists, how to have something equivalent?
方法2 -----------
friendlist:
USER1_ID
USER2_ID
name: Soner
id: USER2_ID
users:
USER2
name: Soner
isonline : true
USER1
name: mahmut
isonline: false
代码:
foreach(b as firebase.child(friendlist/USER1_ID) ){
firebase.ref("users").child(b).child(isonline).value();
//reult soner:online
}
我应该使用哪种方法? 哪一个是对的? 有什么建议吗?
答案 0 :(得分:0)
您通常会希望选择第一个选项,因为Firebase Realtime Database的常见建议之一是保持数据结构浅而平坦。我经常将其解释为:将每种实体类型的节点保留在其自己的顶级列表/节点下。然后,在不同的顶级列表下,您使用相同的密钥,该密钥使您可以联接每个列表中的数据。
造成这种情况的原因很多,因此,我将在下面提供一些链接,但是此处非常直接的一个链接是,您可能希望在应用程序中显示每个人的在线状态,而又不允许所有用户阅读彼此的朋友列表。由于Firebase始终加载完整的节点,因此使用第二个数据结构将是不可能的。
另请参阅: