首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用防火墙构建聊天系统

如何用防火墙构建聊天系统
EN

Stack Overflow用户
提问于 2017-11-18 22:07:56
回答 1查看 7.2K关注 0票数 4

我使用Cloud (NoSQL)为用户存储配置文件信息,如:

代码语言:javascript
运行
复制
{
  "uid": "abc123",
  "name": "...",
  "friends": [
    "uid": "x234", 
  ]
  ...
}

现在,我想知道如何构建用户之间的直接聊天。我想要么是:

为每个用户文档添加一个附加字段,如:

代码语言:javascript
运行
复制
"chats": [
 {
    "from": "name",
    "message": "...",
    ...
 },
  ...
]

或者,我考虑使用具有类似结构的Firebase实时数据库,而不是使用Firestore进行聊天。

最后一种方法将带来好处,即用户文档不会因大量的聊天协议而“膨胀”。

我需要一些建议,这些建议的结构/实现方式最适合这种用法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-19 12:11:39

当您开始构建一个应用程序时,首先您需要考虑最适合它的数据库。如果您想一想Firestore,您需要知道client对于每秒执行大量小读写操作的应用程序的定价模型可能比实时数据库中类似执行的应用程序要昂贵得多。

这两个数据库之间也有一些差异。如果您想继续使用Firebase实时数据库,您需要知道您不能查询多个属性,而且它通常涉及复制数据或客户端过滤,在某些情况下这是一种混乱。实时数据库不会自动缩放,而Firestore则会自动缩放。

关于如何构造聊天应用程序的数据库,您需要知道没有一个完美的结构可以这样做。您需要以一种非常简单和高效的方式来构造数据库,使您能够轻松地读写数据。Firebase 正式文件解释了如何为聊天应用程序构建数据库。如果你想要更复杂的东西,请阅读这篇文章,正确构造复杂应用程序的Firebase数据

为了更好地理解,我建议您也参加免费的Firebase课程,周末火场: Android

所以由你来决定哪一个对你更好。

P.S:如果您感兴趣,我还在我的教程中解释了如何使用Cloud和Kotlin创建聊天应用程序。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47371561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档