在我目前正在开发的网络应用程序上,用户可以单击一个按钮,该按钮会将电子邮件存储到我的 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)
最佳答案
您可能想要创建另一个包含用户详细信息的集合,并将引用添加到以下代码中以识别用户:
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)
关于node.js - 如何在 mongodb/mongoose 中分离用户对数据库的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55501962/