我正在尝试创建一个 mongodb 模式,在该模式中我允许该人匿名发布项目,我已经拥有经过身份验证的用户模式,并且我正在考虑仅使用它来允许用户发布他们的项目!关于我应该如何进行的任何想法?
例如:就像匿名用户的真实性应该是什么一样,对于所有用户来说应该是相同的 key ,还是对于每个用户来说都是不同的 key 等等......我对数据库相当陌生,我很困惑。有什么建议给我吗? 架构用户:
const UserSchema = new Schema({
full_name: {
type: String,
required: true
},
username: {
type: String,
required: true
},
email: {
type: String
},
password: {
type: String,
required: true
},
avatar: {
type: String
},
date: {
type: Date,
default: Date.now
},
projects: [{ type: Schema.Types.ObjectId, ref: "projects" }]
});
谢谢
最佳答案
mongodb 中的每个文档都有一个自动生成的唯一_id 字段,因此您可以使用该字段来识别每个匿名用户。
我的建议是使用cookie来验证用户,您可以使用像passport.js
这样的库来验证用户并保存其mongodb唯一_id,这样当该用户向您发送请求时服务器,您可以使用类似 req.user._id
的内容获取其 _id。
一个可能的缺点是,当匿名用户清除他的 cookie 时,他将失去身份验证,从而失去对其项目的访问权限。
关于javascript - 在 mongodb 中,作为 key 而不是匿名用户的用户名和密码传递什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58450525/