我正在尝试创建一个 mongodb 模式,在该模式中我允许该人匿名发布项目,我已经拥有经过身份验证的用户模式,我正在考虑仅使用它来允许用户发布他们的项目!关于我应该如何进行的任何想法?例如:就像匿名用户的真实性应该是什么一样,它应该是所有用户的相同密钥,还是每个用户的不同密钥等等......我对数据库相当陌生,我很困惑。对我有什么建议吗?架构用户: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" }]});谢谢你
1 回答
![?](http://img1.sycdn.imooc.com/5458626a0001503602200220-100-100.jpg)
HUH函数
TA贡献1836条经验 获得超4个赞
mongodb 中的每个文档都有一个自动生成的唯一 _id 字段,因此您可以使用该字段来识别每个匿名用户。
我的建议是使用 cookie 对用户进行身份验证,您可以使用类似的库passport.js
来验证用户并保存其 mongodb 唯一 _id,因此当该用户向您的服务器发送请求时,您可以使用类似这样的内容获取其 _id req.user._id
。
一个可能的缺点是,当匿名用户清除他的 cookie 时,他将失去身份验证,从而无法访问他的项目。
添加回答
举报
0/150
提交
取消