我正在创建一个To Do API来学习Node / Express(来自Rails)。我有一个用户模型和一个包含项目(任务)的列表模型。这是我的List模式的样子:
const listSchema = new Schema({
user_id: Schema.Types.ObjectId,
items: [Item.schema],
title: String,
private: Boolean
});
如您所见,我正在引用用户ID以及嵌入的Items数组。
我正在尝试在listController
中创建一个类似于:
exports.createList = (req, res) => {
const list = {
user_id: //umm...
title: req.body.title,
private: req.body.private
}
List.create(list);
};
如何添加对(已登录)user_id的引用?如果我将user: user.id
包含在user: req.body.user.id
之内,那么发送list
会是前端应用的工作吗?
注意:如果重要,我使用passport-jwt进行用户身份验证。
答案 0 :(得分:0)
如果我将用户名:req.body.user.id包含在列表中,那么发送用户:user.id会是前端应用的工作吗?
您不应该从客户端通过userId
- 它不安全。从请求本身获取userId
。对于经过身份验证的请求,您可以从req
对象 - https://github.com/themikenicholson/passport-jwt#authenticate-requests