当前位置: 首页 > 知识库问答 >
问题:

使用nodejs创建api时,引用错误:未定义架构

欧阳安晏
2023-03-14

我想用get方法获取有关邮递员的信息。但每当我“localhost:3000/api/mekanlar/mekan的objectid”时,我就会得到引用错误“mekan未定义”。这是我的mekansema。/app\u api/models中的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');

还有mekanlar。/app\u api/controllers中的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"
   });
}
};  

这是索引。js in/app\U api/routes。

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;

共有1个答案

贝阳泽
2023-03-14

很难看出问题所在,因为您没有提供堆栈跟踪。但我认为在这一行:

Mekan
 .findById(req.params.mekanid)

Mekan应为Mekan

 类似资料:
  • 就这样,我正在用electron开发一个程序,一切都很好,就像在轮子上一样,直到,我做了我的小npm启动,像往常一样,我测试了一下我的应用程序,我发现javascript不再工作了,所以,我做了一点“Ctrl Shift I”,我在控制台中看到,我的模块都没有被导入,因为在最上面,我们有一个很大的错误:“uncaughtreferenceerror:primordials没有在”inspect“中

  • 我第一次与Firebase合作进行一个实践项目,我很难设置用户登录其帐户的能力。 我已成功设置注册,但到目前为止,我无法登录并检查身份验证状态是否正常工作。 我在控制台中不断收到的错误是“未捕获引用错误:未定义Firebase” 我自己做了一些研究,但我似乎找到的唯一答案是,你需要包含Firebase的脚本标签,这在这里不相关,因为我已经包含了它们,或者2.4.2版本的过时响应 有关守则如下:

  • 用我的超文本标记语言,下面的代码部分 在控制台上生成以下错误: 未捕获引用错误:未定义WEBGL 我已经导入了所有必要的js,所以问题是:如何解决这个问题?

  • 试图按照官方手册实现一个模块时,我收到了以下错误消息: 但在我的代码中没有任何地方使用过这个名称。 我该怎么解决这个?

  • 我有一个简单的Android NDK代码与JNI。不幸的是,由于错误,它无法生成: 我已经检查了其他带有相同错误的Stackoverflow问题。但没有一个与我的文件结构相似。

  • 这是我的HTML代码,我试图将div中输出的内容转换成可下载的pdf文件。 我在控制台上得到这个错误: “未捕获引用错误:未定义jsPDF” 我不确定我做错了什么,我甚至在脚本标签中添加了。。。