在我当前正在使用的Web应用程序上,用户可以单击一个按钮,该按钮会将电子邮件存储到我的MongoDB
数据库中。我还有一个按钮,用户可以在选择时间范围后单击该按钮,该时间范围显示该时间存储在数据库中的所有消息。我遇到的问题是,当不同的用户登录时,他们可以通过单击检索消息的按钮来查看其他用户的消息。
我试图弄清楚该如何做,以便用户只能看到他们存储的消息,而不能看到别人的消息。任何想法都会很棒。
report_schema
var mongoose = require('mongoose')
var sera = mongoose.Schema({
isRead: Boolean,
subject: String,
from: String,
receivedDateTime: Date,
sentDateTime: Date
});
var user = mongoose.Schema({
userID: {
type: mongoose.Schema.Types.ObjectId,
userName: String,
ref: 'SERA'
}
});
module.exports = mongoose.model("SERA", sera)
答案 0 :(得分:1)
您可能想要创建另一个包含用户详细信息的集合,并在下面的代码中添加引用以标识用户:
var mongoose = require('mongoose')
var sera = mongoose.Schema({
isRead: Boolean,
subject: String,
from: String,
receivedDateTime: Date,
sentDateTime: Date,
user: {type: mongoose.Schema.Types.ObjectId, ref: 'User'} <-- this line
});
module.exports = mongoose.model("SERA", sera)