我有Room
这样的模型:
var ReadSchema = new Schema({
name: String,
admins: [{
type: Schema.ObjectId,
ref: 'User',
}],
users: [{
type: Schema.ObjectId,
ref: 'User',
}],
});
现在我需要为这个房间里的每个用户实现未读消息计数。我决定为每个用户存储UserId / LatestReadedMessageId。我怎么能这样做?
它将UserId视为关键对象,将MessageId视为值:
var RoomSchema = new Schema({
name: String,
admins: [{
type: Schema.ObjectId,
ref: 'User',
}],
users: [{
type: Schema.ObjectId,
ref: 'User',
}],
reads: [{
user: {
type: Schema.ObjectId,
ref: 'User',
},
latest: Date
}],
});
但我认为这不是最好的主意。
会有什么建议?谢谢