我需要创建一个消息系统,其中一个人可以与许多用户进行对话。 例如,我开始与用户2,用户3和用户4交谈,以便他们中的任何人都可以看到整个对话,并且如果在任何时间点对话都不是私密的,则任何参与者都可以将任何其他人添加到对话中。嵌入式文档中的mongodb限制
这是我的想法如何做到这一点。 我正在使用Mongo,我的想法是使用对话框作为实例而不是消息。
架构列示如下:
{
_id : ...., // dialog Id
'private' : 0 // is the conversation private
'participants' : [1, 3, 5, 6], //people who are in the conversation
'msgs' :[
{
'mid' : ...// id of a message
'pid': 1, // person who wrote a message
'msg' : 'tafasd' //message
},
....
{
'mid' : ...// id of a message
'pid': 1, // person who wrote a message
'msg' : 'tafasd' //message
}
]
}
我可以看到一些专业人士对这种做法 - 在一个大的数据库,它会很容易找到一些特定对话的消息。 - 向对话添加人员很容易。
但这里有一个问题,我找不到解决方案: 对话变得太长了(以skype为例),他们没有向你显示所有的对话,他们向你展示了一部分之后他们会向您显示其他消息。 在其他情况下跳过,限制解决这个问题,但我怎么能在这里做到这一点?
如果这是不可能的,你有什么建议?
没问题。如果我的回复帮助您解决了问题,请将答案标记为选中状态。这会给我点数,并让用户更有可能在未来回答你的问题:) – jmacinnes
非常有帮助谢谢! – webmaster