Necesito crear un sistema de mensajes, donde una persona pueda tener una conversación con muchos usuarios. Por ejemplo, empiezo a hablar con user2, user3 y user4, por lo que cualquiera de ellos puede ver toda la conversación, y si la conversación no es privada en algún momento, cualquiera de los participantes puede agregar a otra persona a la conversación.Límite mongodb en el documento incrustado
Aquí está mi idea de cómo hacer esto. Estoy usando Mongo y mi idea es usar el diálogo como una instancia en lugar de un mensaje.
El esquema se muestra como sigue:
{
_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
}
]
}
puedo ver algunas de las ventajas de este enfoque - en una gran base de datos que será fácil de encontrar mensajes de una conversación particular. - será fácil agregar personas a la conversación.
pero aquí hay un problema, para el cual no puedo encontrar una solución: la conversación es demasiado larga (tome Skype como ejemplo) y no le muestran toda la conversación, le muestran una parte y luego te muestran mensajes adicionales. En otras situaciones omita, limit soluciona el caso, pero ¿cómo puedo hacer esto aquí?
Si esto no es posible, ¿qué sugerencias tiene?
No hay problema. Si mi respuesta lo ayudó con su problema, marque la respuesta como está seleccionada. Esto me dará puntos y hará que los usuarios sean más propensos a responder sus preguntas en el futuro :) – jmacinnes
muy útil gracias! – webmaster