从mongodb的不同聊天室中获取未读邮件的号码

时间:2015-12-22 13:08:21

标签: mongodb

我有三个集合,UserRoomRoomMessageUser集合存储用户信息,它有一个名为' rooms'这是一个存储该用户所有房间的数组。对于每个房间,它都有一个timestamp字段,因此我们可以决定来自这个房间的未读消息。

rooms: [{
    room: {
        type: Schema.Types.ObjectId,
        ref: 'Room'
    },
    timestamp: {
       type: Date,
       default: Date.now()
    }
}]

以下这个存储所有消息的RoomMessage个集合

var RoomMessageSchema = new Schema({
    sender: {
        type: Schema.Types.ObjectId,
        ref: 'User'
    },
    room: {
        type: Schema.Types.ObjectId,
        ref: 'Room'
    },
    content: {
        type: String,
        trim: true
    },
    type: String,
    date: {
        type: Date,
        default: Date.now
    }
});

现在让我们说user1属于10个房间,他的页面中有一个显示所有房间的房间列表,它可以显示每个房间的所有未读消息编号。 我该怎么办?我可以更快地进行此查询吗?

0 个答案:

没有答案