2016-12-03 40 views
0

我想通過Postman上的get方法獲得信息。但是,無論何時我「localhost:3000/api/mekanlar/mekan的objectid」,我得到參考錯誤「Mekan沒有定義」。這是我的/ app_api/models中的mekansema.js文件。在使用nodejs創建api時,參考錯誤:未定義架構

var mongoose = require('mongoose'); 

var saatSema = new mongoose.Schema({ 
    gunler: {type: String, required: true}, 
    acilis: String, 
    kapanis: String, 
    kapali: {type: Boolean, required: true} 
}); 

var yorumSema = new mongoose.Schema({ 
    ad: String, 
    puan: {type: Number, required: true, min:0, max:5}, 
    yorumMetni: String, 
    saat: {type: Date, default: Date.now} 
}); 

var mekanSema = new mongoose.Schema({ 
    ad: {type: String, required: true}, 
    adres: String, 
    puan: {type: Number, default:0, min:0, max:5}, 
    imkanlar: [String], 
    mesafe: {type: [Number], index:'2dsphere'}, 
    saat: [saatSema], 
    yorumlar: [yorumSema] 
}); 
mongoose.model('Mekan', mekanSema, 'Mekanlar'); 

和mekanlar.js文件/ app_api /控制器

var mongoose = require('mongoose'); 
var mekan = mongoose.model('Mekan'); 

var jsonCevapYolla = function(res, status, content){ 
    res.status(status); 
    res.json(content); 
}; 
module.exports.mekanGetir = function(req, res){ 
if (req.params && req.params.mekanid){ 
Mekan 
.findById(req.params.mekanid) 
.exec(function(hata, mekan){ 
if(!mekan){ 
    jsonCevapYolla(res, 404, { 
     "mesaj" : "mekanid bulunamadı." 
}); 
return; 
} 
else if(hata){ 
jsonCevapYolla(res, 404, hata); 
return; 
} 
jsonCevapYolla(res, 200, mekan); 
}); 
} 
else{ 
    jsonCevapYolla(res, 404, { 
    "mesaj" : "istekte mekanid yok" 
    }); 
} 
}; 

,這是在index.js/app_api /路由。

var express = require('express'); 
var router = express.Router(); 
var ctrlMekanlar = require('../controllers/mekanlar'); 
var ctrlYorumlar = require('../controllers/yorumlar'); 

//Mekan Rotaları 
//router.get('/mekanlar', ctrlMekanlar.mekanlariListele); 
//router.post('/mekanlar', ctrlMekanlar.mekanEkle); 
router.get('/mekanlar/:mekanid', ctrlMekanlar.mekanGetir); 
//router.put('/mekanlar/:mekanid', ctrlMekanlar.mekanGuncelle); 
//router.delete('/mekanlar/:mekanid', ctrlMekanlar.mekanSil); 

//Yorum Rotaları 
//router.post('/mekanlar/:mekanid/yorumlar', ctrlYorumlar.yorumEkle); 
//router.get('/mekanlar/:mekanid/yorumlar/:yorumid', ctrlYorumlar.yorumGetir); 
//router.put('/mekanlar/:mekanid/yorumlar/:yorumid', ctrlYorumlar.yorumGuncelle); 
//router.delete('/mekanlar/:mekanid/yorumlar/:yorumid', ctrlYorumlar.yorumSil); 

module.exports = router; 

回答

0

由於您沒有提供堆棧跟蹤,因此很難看出問題出在哪裏。但我覺得在這一行:

Mekan 
.findById(req.params.mekanid) 

Mekan應該mekan

+0

謝謝你。我應該失明。我想不出一段時間。再次感謝你! –