我有以下文档架构:
var CalendarModel = mongoose.model('Calendar', mongoose.Schema({
author: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: true
},
rooms: [{
_id: {type: mongoose.Schema.Types.ObjectId},
title: {type: String}
}]
}));
var EventModel = mongoose.model('Event', mongoose.Schema({
room: {
type: mongoose.Schema.Types.ObjectId,
required: true
},
startTime: {
type: Date
},
endTime: {
type: Date
}
}));
每个事件都与他们的身份相关的特定房间。我有以下几种情况:
当用户发出查询以执行案例时,我需要检查访问权限以执行操作。
我们假设用户可以通过_id
删除一些事件,如果他是事件与特定房间相关的日历的所有者,他就可以。
当用户尝试删除事件时,检查写入的最佳做法是什么?
编辑:基本上我正在寻找为每个用户的日历存储权限的最佳做法,并快速检查访问权限。我知道每次用户进行操作(读/编辑等)时我都可以查询mongo,但这是开销。所以我需要更好的解决方案来存储应用程序状态