我有一个聊天室系统,我想使用MongoDB作为后端数据库.以下是实体:
为了设计模式,我有一些想法:首先,3个集合 - 房间,用户和消息 - 并且在用户和消息文档中有一个父引用.
另一个想法是为每个房间创建集合.如
...
我想如果我可以将文档划分为不同的集合,那么查询会更有效.此外,我可以使用上限集合来限制每个房间中的消息数量.但是,我不熟悉MongoDB.我不确定这样做是否有任何副作用,或者是否存在创建大量集合的性能问题?是否有设计MongoDB架构的指南?
谢谢.
你应该总是通过回答2个问题来设计你的架构:
您不希望将高访问率数据嵌入到文档中(例如每隔一秒左右由每个用户访问的聊天消息),最好将其作为单独的集合.
另一方面 - 聊天室中的用户集合很少变化 - 你绝对可以嵌入.
只是设计使用常识,你会没事的
| 归档时间: |
|
| 查看次数: |
922 次 |
| 最近记录: |