получить количество непрочитанных сообщений с помощью populate - mongodb - PullRequest
0 голосов
/ 13 июня 2019

Привет! Я пытаюсь получить список друзей с непрочитанным количеством сообщений. У меня есть коллекция с именем 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' }]
});

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

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