내가 ID로 기록을 찾기 위해 노력하고 있지만 나는 유효한 ID를 제공해야하지만 여전히 가져 오는되지 사람이 도움을 제안 할 수 있습니다, 몽구스
var id = req.param('id');
var item = {
'_id': id
}
videos.find(item, function(error, response) {});
을 끝내는하지의 ID로 기록을 찾을 수 없습니다, 제발 .
내가 ID로 기록을 찾기 위해 노력하고 있지만 나는 유효한 ID를 제공해야하지만 여전히 가져 오는되지 사람이 도움을 제안 할 수 있습니다, 몽구스
var id = req.param('id');
var item = {
'_id': id
}
videos.find(item, function(error, response) {});
을 끝내는하지의 ID로 기록을 찾을 수 없습니다, 제발 .
find()
에 콜백이 있지만 위 코드에서 실행 문이 없습니다. 대신이의 :
videos.find(item, function(error, response) {
if (error) {
console.log(error); // replace with real error handling
return;
}
console.log(response); // replace with real data handling
});
당신은 오류 처리에 대한 콜백을 사용할 수 있습니다
videos.find(item, function(error, response) {});
... 이런 일을한다. 그리고 find() 배열을 반환합니다. (이 경우 _id)에 고유 키에 의해 사용자를 찾을 필요가 있다면 당신은 findOne()
router.get('/GetVideoByID/:id',function(req,res){
var id = req.params.id;
var video = {
'_id' : id
}
videos.findOne(video,function(err,data){
if(err){
console.log(err);
}else{
console.log("Video found");
res.json(data);
}
});
});
몽구스 모듈을 사용할 때는 findOne() 대신 findById()를 사용하는 것이 좋습니다. http://mongoosejs.com/docs/api.html#model_Model.findById 문서를 살펴보십시오. –
@LukeKroon을 보내 주셔서 감사합니다. 하지만 findOne()이 아닌 findById()를 사용해야하는 이유를 알고 싶습니다. 이 쿼리의 실행 시간에는 차이가 있습니까? –
문서에 따라 findbyId()는 undefined를 처리하는 방법을 제외하고 findOne() 후크를 트리거합니다. 즉, findOne (undefined)는 임의의 문서를 반환하고 findById (undefined)는 findOne ({_ id : null})으로 변환하여 아무 것도 반환하지 않습니다. 그것의보기에 의하여 그것의 실패 안전. :) –
당신은 ['findById']를 사용한다 (http://mongoosejs.com/docs/api를 사용해야합니다. html # model_Model.findById). – str