Mongodb 从持久聊天中存储和检索聊天数据的最佳方法

Mongodb 从持久聊天中存储和检索聊天数据的最佳方法,mongodb,next.js,chat,apollo,Mongodb,Next.js,Chat,Apollo,我正在开发一款具有实时聊天功能的应用程序。基本上,人们进入一个启用了实时聊天功能的页面,并通过聊天框进行交互。当新用户进入此页面时,他们可以参与正在进行的对话 我正在使用MongoDB、Apollo(GraphQl)和NextJS的组合来组合这个应用程序。存储聊天数据以便用户查看聊天记录并参与聊天的最有效方式是什么 我知道如何做到这一点的唯一方法是将MongoDB中的完整聊天存储为JSON字符串,或者使用MongoDB模型模式以及GraphQl typedef、解析器等。。这最终可能会创建一个巨

我正在开发一款具有实时聊天功能的应用程序。基本上,人们进入一个启用了实时聊天功能的页面,并通过聊天框进行交互。当新用户进入此页面时,他们可以参与正在进行的对话

我正在使用MongoDB、Apollo(GraphQl)和NextJS的组合来组合这个应用程序。存储聊天数据以便用户查看聊天记录并参与聊天的最有效方式是什么

我知道如何做到这一点的唯一方法是将MongoDB中的完整聊天存储为JSON字符串,或者使用MongoDB模型模式以及GraphQl typedef、解析器等。。这最终可能会创建一个巨大的db表,我正试图避免它,或者由于JSON解析巨大的JSON字符串而严重降低聊天历史检索的速度

我对Apollo使用了PubSub(发布/订阅)方法,因此聊天可以通过WebSocket持久化。页面可以显示聊天记录,但当用户刷新页面或离开并返回时,由于我的数据没有存储在MongoDB(我的后端数据库)中,它会清除聊天记录

关于存储此聊天记录的最佳方式,有什么建议吗?我是否需要为这些聊天数据使用不同的云存储方法,或者我目前使用的平台是否有办法制作上述应用程序