私は現在、ユーザー間のWebサイトにインスタントメッセージング機能を実装するnodejsとmongodbプロジェクトに取り組んでいます。助けが必要なのは、mongodb データベースに格納されるオブジェクト構造です。
要件は次のとおりです。
- ウェブサイトのすべてのユーザーは、別のユーザーにメッセージを送信できる必要があります
- メッセージは、ユーザーがプレゼンテーション ページを介して別のユーザーにメッセージを送信すると、各スレッドが作成されるフォーラムと同様のスレッドにグループ化する必要があります。
- 送信者および/または受信者はスレッドに返信できる必要があります
- 受信者/送信者がスレッド全体 (またはそのスレッド内の特定のメッセージのみ) を削除しても、他のユーザーはすべてのメッセージを表示する必要があります (削除しない場合)。
- 各ユーザーには、一般的なメール ボックスのように、受信トレイ、送信済み、ゴミ箱があります。
これは私がこれまでに持っているものです
messages:[{
'_id' : '502c21e3833ea71307001d56',
'from' : {
'_id': '503fdbfa294f6db74de649ea',
'name': 'Kumar'
},
'to' : {
'_id' : '5061e2a61ac427f716000378',
'name' : 'Elan'
},
'subject' : 'sit amet consectetur',
'message' : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit',
'sent' : '2012-09-26T18:04:26.656Z',
'last_reply': '2012-09-26T18:04:26.656Z',
'reply' : [
{
'content': 'dolor sit amet consectetur adipiscing elit.',
'to': {
'_id': '503fdbfa294f6db74de649ea',
'name': 'Kumar'
},
'from' : {
'_id': '5061e2a61ac427f716000378',
'name': 'Elan'
},
'date': '2012-09-26T18:04:26.656Z'
},
{
'content': 'consectetur adipiscing elit. ',
'to': {
'_id': '5061e2a61ac427f716000378',
'name': 'Elan'
},
'from' : {
'_id': '503fdbfa294f6db74de649ea',
'name': 'Kumar'
},
'date': '2012-09-26T18:04:26.656Z'
}
]
}]
メッセージ_ユーザー_マッピング
messages_user_mapping : [{
'_id' : '502c21e3833ea71307001222',
'msg_id' : '502c21e3833ea71307001d56',
'user' : {
'_id': '503fdbfa294f6db74de649ea',
'name': 'Kumar'
},
'sent' : '1',
'inbox': '0',
'trash': '0',
'soft_delete':{
'msg_id' : '502c21e3833ea71307001d56',
'from' : 'inbox'
}
},
{
'_id' : '502c21e3833ea71307001222',
'msg_id' : '502c21e3833ea71307001d56',
'user' : {
'_id': '5061e2a61ac427f716000378',
'name': 'Elan'
},
'sent' : '0',
'inbox': '1',
'trash': '0',
'soft_delete':{
'msg_id' : '',
'from' : ''
}
}
]
より良いスキーマ構造を探しています。