直接消息与firebase聊天 - 数据结构?

时间:2016-05-01 13:45:34

标签: firebase firebase-realtime-database nosql

我最近开始使用Firebase,在其中一个演示应用程序中,我实现了类似的东西。您基本上可以刷卡用户,刷完一个后我会按以下格式/路径存储数据:

matches/randomeFirebaseID()/{
userid: true
otherUserid: true
}

再次查询它们真是太好了但是我怎样才能制定一个不允许这样的重复条目的安全规则。安全规则甚至可能吗?或者我应该以另一种形式构建数据? 可以事先简单地查询它们并检查是否已经存在匹配,但这需要一些额外的时间,我不想浪费。

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

对于任何有兴趣的人。解决方案很简单,一如既往:)

我使用了两个userid的混合作为对话的关键。并且为了知道,哪一个先行,我只是命令它们,所以它们总是以相同的方式排列。

实施例: userid1:abcde userid2:zudfg

所以对话ID将是:abcdezudfg

这样可以很容易地访问它,甚至可以检查这些用户之间的对话已经存在与否。

我希望这会有所帮助。