猿问

什么作为密钥而不是 mongodb 中匿名用户的用户名和密码传递?

我正在尝试创建一个 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" }]

});


谢谢你


拉丁的传说
浏览 200回答 1
1回答

HUH函数

mongodb 中的每个文档都有一个自动生成的唯一 _id 字段,因此您可以使用该字段来识别每个匿名用户。我的建议是使用 cookie 对用户进行身份验证,您可以使用类似的库passport.js来验证用户并保存其 mongodb 唯一 _id,因此当该用户向您的服务器发送请求时,您可以使用类似这样的内容获取其 _id req.user._id。一个可能的缺点是,当匿名用户清除他的 cookie 时,他将失去身份验证,从而无法访问他的项目。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答