Привет! Я пытаюсь получить список друзей с непрочитанным количеством сообщений. У меня есть коллекция с именем user.
var userSchema = new Schema({
name: {type: String, default: null},
chat: [{type: Schema.Types.ObjectId, ref: 'chat'}]
});
Я храню все чаты, созданные пользователем, в чатах.Коллекция чата выглядит следующим образом: -
var chatSchema = new Schema({
participants: [{type: Schema.Types.ObjectId, ref: 'user' }],
lastMessage: {type: Schema.Types.ObjectId, ref: 'message'},
isGroup: {type: Boolean,default: false},
groupName: {type: String,default: ""},
groupImage: {type: String,default: ""},
groupDetail: {type: String,default: ""},
blockedUser: [{type: Schema.Types.ObjectId, ref: 'user' }],
admin: {type: Schema.Types.ObjectId, ref: 'user' }
});
Схема сообщения следующая: -
var messageSchema = new Schema({
participants: [{type: Schema.Types.ObjectId, ref: 'user' }],
messageBy: {type: Schema.Types.ObjectId, ref: 'user' },
chatId: {type: Schema.Types.ObjectId, ref: 'chat' },
message: {type: String,default: "" },
createdOn: {type: Date, default: Date.now()},
readBy: [{type: Schema.Types.ObjectId, ref: 'user' }]
});
Я могу получить все чаты, сделанные пользователем с последним сообщением, теперь я тожехочу непрочитанное сообщение