开始直接使用Django的文件上传下载,后来发现效率太低,下载会有问题。于是想使用分布式文件管理系统,在网上查找都是在Linux系统的,而我没有Linux服务器,只能做其他想。于是决定使用Mongodb Gridfs进行文件管理,花了很长时间终于调通(这个会在后面具体实现中说明)。
帐号数据库
主要使用到即时通讯表分别为帐号表,群组表,以及消息表(前面说过),以及相关联表。帐号表除相关信息外,还有friends字段用于保存好友,groups字段用于保存群组列表。而同样群组表,也有帐号列表字段用于保存群组的帐号信息。
表ImAccount
字段名称
类型
说明
备注
account
String
帐号,唯一
mobile
String
手机号
name
String
昵称
search
String
搜索键,保存account以及name的拼音搜索字段
String
邮箱
String
QQ号
is_active
Boolean
是否在线,暂时未使用
head
String
头像对应路径
add_time
Date
添加时间
update_time
Date
修改时间
friends
List<ImAccount>
好友列表
groups
List<ImGroup>
组列表
表ImGroup
字段名称
类型
说明
备注
account
String
帐号
name
String
组名
desc
String
描述
creater
ImAccount
创建者
imAccounts
List<ImAccount>
组成员
head
String
组头像
add_time
Date
添加时间
update_time
Date
修改时间