Хороший дизайн базы данных системы чата с непрочитанными сообщениями - PullRequest
0 голосов
/ 31 августа 2018

Я пытаюсь создать базу данных для системы чата между пользователями и группами. Эта система должна включать способ извлечения количества сообщений, непрочитанных в каждой комнате чата каждым пользователем.

Каким будет идеальный дизайн для эффективного извлечения этих данных?

Пока у меня есть этот дизайн:

UserSchema {
    username: String,
    password: String,
    lastVisit: Date,
    online: Bool    
}
ChatSchema {
    creator: UserId,
    title: String,
    description: String,
    members: Array[UserId]
}
MessageSchema {
    sender: UserId,
    chatId: ChatId,
    content: String,
    media: Media
}

Для справки, я использую MongoDB и Mongoose для разработки схемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...