最近在做一个好友服务器,原来的东西没有好友这一项功能,只有个人信息。个人信息包括,比如用户名,用户昵称,用户城市,用户年龄等,这些信息原本是存在mysql中的一个表中。那么接下来的任务是,在客户端,能显示好友列表,可以添加好友,可以删除好友,可以查看好友个人信息等功能。
用mysql做这个任务是不太好弄的,因为,mysql的字段是固定的,但是每个人的好友数量不一定是一样的,如果按照最大值来设计数据库,那么mysql的空间有很多是浪费的。
如果能用一种新的方式,来记录一个用户的好友,那么这是比较好的解决方法。好吧,我们用nosql来实现吧,手头上只有一个mongodb。
mongodb,是用的类似json的格式存储数据的。跟mysql的类似对应方式是,collection对应table。
所以,我决定,在mongodb里,只记录用户的好友是谁,然后通过查询mongodb得到好友列表后,再遍历这个结果得到一个好友的list,在mysql里遍历这个list。因为是第一次做,不知道这样会怎么样,不过思路还是比较清晰的。
mongodb中的数据记录格式是
{
"username": "user1",
"friendlist": [
{
"name": "a"
},
{
"name": "b"
},
{
"name": "c"
}
]
}
再添加好友时,可以接着增加friendlist的内容。