【发布时间】:2021-01-08 03:31:18
【问题描述】:
我的模型有问题。我已连接到 MongoDB,并且我的服务器运行良好。 但是我无法通过 TaskController 路由。错误是由于模型还是 find() 函数。 我不知道如何解决它。 谁能帮帮我吗。 谢谢
tasks.js
const express=require('express');
const mongoose=require('mongoose');
const router=express.Router();
// const TaskModel=mongoose.model("taskslist");
// const Task=mongoose.model('Task');
const Task=require('../model/task.model');
router.get('/',(req,res)=>{
Task.find({},(err,docs)=>{
if(!err){
res.render("tasks",{}
);
}
else{
console.log('Failed to retrieve the Course List: '+ err);
}
});
});
module.exports=router;
app.js
const TasksController=require('./controller/tasks');
app.use(bodyParser.urlencoded({
extended:true
}));
app.get('/',(req,res)=>{
res.render('index',{});
});
app.use(bodyParser.json());
app.set('views',path.join(__dirname,"/views/"));
app.set("view engine","hbs");
app.engine("hbs",expressHandleBars({
extname:"hbs",
defaultLayout:"mainlayout",
layoutsDir:__dirname+"/views/layouts"
}));
app.listen(3000,()=>{
console.log("server listening");
});
app.use("/tasks",TasksController);
task.mode.js
const mongoose=require('mongoose');
var taskSchema=new mongoose.Schema({
title:{
type:String,
},
isDone:{
type:Boolean,
}
});
module.exports=mongoose.model("Task",taskSchema);
【问题讨论】:
-
task.mode.js这是错字吗?
-
检查您导入的 task.model 是否与您的 task.model 文件名相同,这可能是错误的原因,因为您已将名称
task.mode.js命名为文件并导入了task.model -
您确定在模型上运行查找查询吗?如果您正在导出架构,并且在架构上运行 find 不会暴露 find 功能。
-
这是一个拼写错误,但我给出了正确的名称。
-
那么如何从mongodb中取回数据??不使用find
标签: javascript node.js mongodb mongoose mean-stack