我想在Postman上使用get方法获取信息。但每当我" localhost:3000 / api / mekanlar / mekan's objectid "时,我都会收到参考错误" Mekan is未定义"。这是我在/ app_api / models中的mekansema.js文件。
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');
和/ app_api / controllers中的mekanlar.js文件
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"
});
}
};
这是/ app_api / routes中的index.js。
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 :(得分:0)
很难看出问题出在哪里,因为你没有提供堆栈跟踪。但我想在这一行:
Mekan
.findById(req.params.mekanid)
Mekan
应为mekan
。