MongoDB: получить данные по перепискам для текущего пользователя
Небольшое приложение для переписки, которое позволяет общаться как с несколькими участниками так и с одним.
Модели бд:
UserSchema:
{
email: {
type: String,
required: true,
unique: true
},
username: String,
avatar: {
type: String,
default: path.resolve('public/images/avatars/default_user.jpg')
},
password: {
type: String,
required: true
},
facebookId: String,
googleId: String
}
RoomSchema:
{
ownerId: {
type: String,
required: true
},
title: {
type: String,
required: true
},
description: String,
image: {
type: String,
default: path.resolve('/images/chats/default_chat.jpg')
},
users: [String]
}
MessageSchema:
{
senderId: {
type: String,
required: true,
},
receiverId: {
type: String,
required: true,
},
text: {
type: String,
required: true,
}
}
В схеме MessageSchema, receiverId может быть как и определить (ID) пользователя (если это переписка двух человек), а также и определитель комнаты (если разговор между несколькими участниками).
Задача написать запрос, который вытащит все личные беседы для текущего пользователя (данные о пользователях, с которыми я переписывался) и все комнаты, в которых я состою. Как этого достичь?