我正在创建一个像Facebook这样的社交网站。我想开发一个聊天系统。我在数据库管理方面遇到麻烦

时间:2019-05-02 13:15:47

标签: mysql mongodb

关于这个主题的帖子太多了,但是对我没有帮助...

我想开发一个2用户聊天系统,正如我在标题中提到的。我的想法如下...

我的想法:

1:创建名为chat ...的数据库

该数据库将具有不同的表。它们的名称将是用户的ID,例如如果我有两个ID为“ 12”和“ 33”的用户,则表名将类似于“ 12 33”或类似的内容...并且该表将包含这两个用户的聊天...

我将如何获取?

好吧,我以前从未做过此事,但我的想法是,我将从聊天数据库中获取表名。然后将表名转换为数组...将得到类似[12,13] ....然后,我将检查当前用户(已登录我的系统)id是否与数组中的值匹配,然后我将获得该表中的所有列并将其显示给用户。

我将使用哪个数据库?

我很困惑哪个数据库最适合我!

如果您有更好的主意,请与我分享

1 个答案:

答案 0 :(得分:7)

实现此功能时,不能使用两个表来保存消息内容或任何已保存的数据。

我有一个下面的解决方案,它可以管理两个以上的用户来处理聊天系统。

创建两个表为

  1. 用户
  2. 消息

选中Simple ER Diagram

user 表中添加列user_id,user_name,state和message message 表中添加列msg_id,msg_date,msg_time,msg_content,sender_id,receiver_id。

以一对多的方式加入表,并按日期和时间在消息表过滤器中获取消息数据,还可以使用用户表状态列来更新用户状态(在线或离线)。

希望您能明白。如果您有任何问题,请在下面发表评论。