몽구스를 처음 사용했습니다. 사용자 인증으로 목록을 작성하려면 평균 스택을 개발 중입니다.(몽구스)이 user._id를 포함한 POST 데이터를 얻기 위해 세션에서 user._id를 가져 오는 방법
(즉, 사용자는 로그인을 등록하고 할 일을 작성, 가져 오기, 업데이트 및 삭제할 수 있습니다).
2 개의 스키마를 의미합니다. '사용자'와 '작업' 1 대 다수의 관계 : 사용자는 많은 작업을 수행 할 수 있으며 많은 작업이 사용자에게 속합니다.
이는 '작업'스키마 모습입니다 :
모든 사용자가 액세스 할 수 otherwhise 내가하는 '주인'속성으로 user._id 필요합니다 CRUD 방법을 구축하기 위해const TaskSchema = new Schema({
title:{
type: String,
required: true
},
owner:{
type: Schema.Types.ObjectId,
ref:'User'
}
});
localSt에서 user._id를 얻을 것 프런트 엔드에
Angular2 : 작업 목록, 그것이 내가 두 가지 옵션을 생각했다 user._id을 얻으려면,
을 업데이 트를 만들거나 작업을 삭제 사용자를 로그인 상태로 유지하기 위해 이전에 저장된 브라우저의 orage.
const user = localStorage.getItem ('user');
그런 다음 '제목'속성을 보내는 것과 동일한 객체로 전송하십시오. 프론트 엔드의 모든 사용자가이 ID를 보낼 수 있기 때문에이 옵션이 너무 안전하지 않다고 생각합니다.
세션의 백엔드에서 현재 user._id를 가져옵니다. (나는 그것을하는 방법을 알고있다 would not).
.post('/task', function(req, res, next){ function(req, res, next){
var task = new Task({
title: req.body.title,
owner : req.user._id /// Does not do nothing
});
if(!task.title){
res.status(400);
res.json({
"error":"Bad Data"
});
} else{
task.save(task, function(err, task){
if(err){
res.send(err);
}
res.json(task);
});
}
});
, 어떻게 (전자가 더 나은 경우를 제외하고) 두 번째 옵션을 촬영 : 그리고, POST 방법에서 새로운 작업 개체에서이 같은 그것을 포함 POST 메서드를 작성 하시겠습니까? 구체적으로 말하면 세션에서 현재 user._id를 가져 와서 새 Task 객체를 포함시킬 수 있습니까?
곧 귀하의 의견을 기다리겠습니다. 감사합니다.
방금 제안을 따랐으며 광산과 동일한 오류가 표시됩니다. 정의되지 않은 '_id'속성을 읽을 수 없습니다. –