聊天系统的mongodb设计问题
天蓬老师
天蓬老师 2017-04-24 09:12:18
0
4
662

我想用mongodb加nodejs做一个聊天系统 他有添加好友和给好友分组的功能 不知道这样的mongodb要怎么设计比较好

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous(4)
黄舟
{
    _id:,
    nick:'',
    account:'',
    password:'',
    friends:[
        {grounp:'分组1',list:[用户ID1,用户ID2]},
        {grounp:'分组2',list:[用户ID3,用户ID4]}
    ]
}

Les gens ont clairement posé des questions sur mongo, mais tout le monde ci-dessus a répondu redis. Redis a les mêmes utilisations que redis. Il est très utile pour les données linéaires unidimensionnelles, mais il doit toujours être utilisé pour des données relationnelles comme celle-ci.

洪涛

Base de données : mongodb n'est toujours pas assez rapide, après tout, compte tenu de la persistance. Il est recommandé d'ajouter une couche de cache, et utiliser la collection ordonnée de Redis serait un bon choix.
Par programme, il est implémenté via websocket, afin que Web/iOS/Android puisse communiquer. Une fois que le client et le serveur ont établi une connexion, le client envoie le message au serveur et l'enregistre dans Redis, puis l'envoie aux amis cibles en ligne. via le serveur.
Si l'autre partie est hors ligne, mettez-le en cache dans Redis. Dès que l'autre partie se connecte, les messages non lus seront récupérés et envoyés à l'autre partie

.
Peter_Zhu

Redis prend les devants et pgsql fait la sauvegarde. mongodb fait ça. . . . . Ce n’est toujours pas tout à fait adapté à cette scène.

左手右手慢动作

Aucune base de données persistante ne vous satisfera dans cette exigence. Vous avez besoin de redis pour la mise en mémoire tampon, ou même de redis pour la persistance (vous pouvez rechercher en ligne des solutions spécifiques, je me souviens de la technologie de Momo. Les gens l'ont partagée)
Quant à la façon de stocker les données dans mongodb après la mise en mémoire tampon, c'est beaucoup plus simple. Il vous suffit en gros de réfléchir à la manière de stocker les données de manière raisonnable

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal