현재 간단한 프로젝트를 진행 중입니다. 몽고 데이터베이스에서 항목 하나를 가져 와서 웹 페이지에 표시하려고합니다. 개체에 대한 정보를 보려면 http://localhost:3000/api/events/5782b1dbb530152d0940a227 사이트에 갈 때마다 null이 표시됩니다. 내가 말했듯이, 나는이 물건에 대한 정보를 보려고한다.MongoDB, Node 및 Express-looking with Mongo ID 문제
컨트롤러 :
var mongoose = require('mongoose');
var Eve = mongoose.model('Info');
var sendJSONresponse = function(res, status, content) {
res.status(status);
res.json(content);
};
module.exports.eventsReadOne = function(req, res) {
Eve
.findById(req.params.eventid)
.exec(function(err, info){
sendJSONresponse(res, 200, info)
});
//sendJSONresponse(res, 200, {"status" : "success"});
};
모델 :
var mongoose = require('mongoose')
var eventSchema = new mongoose.Schema({
activity: String,
address: String,
});
mongoose.model('Info', eventSchema);
경로 : 여기에 내 코드와 같은 모습입니다 이제
var express = require('express');
var router = express.Router();
var ctrlEvents = require('../controllers/events');
//events
router.get('/events/:eventid', ctrlEvents.eventsReadOne);
module.exports = router;
, 발견 할 수있다 한 가지입니다 그 I 내 몽고 컬렉션 이벤트에 전화 해. 그러나 이벤트가 JS의 핵심어라는 것을 잊어 버렸으므로 Info 모델을 "변경"하여 내 모델의 마지막 줄에 표시하려고했습니다. 내가 말했듯이, 내가 마지막으로 숫자가 obj _id 인 곳인 http://localhost:3000/api/events/5782b1dbb530152d0940a227에 가면 나는 그것에 관한 모든 데이터를보아야한다. 대신, 내가 보는 모든 것은 null입니다. 어떤 도움이라도 좋을 것입니다, 감사합니다!
var mongoose = require('mongoose');
var dbURI = 'mongodb://localhost/mission';
mongoose.connect(dbURI)
require('./events');
'console.log (req.params)'를 어떻게 돌보고 있습니까? – kawadhiya21
네, 아무 일도 일어나지 않았다. 나는 그것을 sendJSON 응답 바로 위에 놓았 는가? –
'event'는 JS에서 키워드가 아닙니다. 오류 처리를 추가하십시오. 또한, 당신은'mongoose.connect()'를 코드의 어딘가에서 호출한다고 가정합니다. – robertklep