Javascript TypeError:无法读取属性';然后';exports.HomePage(E:\project\blog\controllers\admin.js:5:9)中未定义的值
我不知道我为什么会出错Javascript TypeError:无法读取属性';然后';exports.HomePage(E:\project\blog\controllers\admin.js:5:9)中未定义的值,javascript,node.js,Javascript,Node.js,我不知道我为什么会出错 TypeError: Cannot read property 'then' of undefined at exports.HomePage (E:\project\blog\controllers\admin.js:5:9) 这是我的控制器部分代码 我创建了一个admin.js文件 const Blog=require(“../models/Blog”) exports.HomePage=(请求、回复、下一步)=>{ Blog.fetchAll() .然后(
TypeError: Cannot read property 'then' of undefined
at exports.HomePage (E:\project\blog\controllers\admin.js:5:9)
这是我的控制器部分代码
我创建了一个admin.js文件
const Blog=require(“../models/Blog”)
exports.HomePage=(请求、回复、下一步)=>{
Blog.fetchAll()
.然后(文章=>{
res.render('blog'{
路径:“/”,
艺术:文章
})
})
.catch(错误=>{
控制台日志(err);
})
}
exports.getBlogPage=(请求、恢复、下一步)=>{
Blog.fetchAll()
.然后(文章=>{
res.render('add-blog'{
路径:'/add blog',
艺术:文章
})
})
.catch(错误=>{
控制台日志(err);
})
}
exports.postBlogPage=(请求、回复、下一步)=>{
const title=req.body.title
const blog=req.body.blog
const article=新博客(标题,博客)
文章
.save()
。然后(结果=>{
console.log('doenst work');
res.redirect(“/”)
})
.catch(错误=>{
控制台日志(err);
})
}
谁能告诉我我做错了什么吗
求你了,我真的需要一些帮助
下面是我的models/blog.js代码
const mongodb=require('mongodb');
const getDb=require('../util/database').getDb;
班级博客{
构造器(标题、博客){
这个.title=title;
this.blog=blog
}
保存(){
const db=getDb();
返回db.collection('blogs')
.insertOne(this)//insertOne充当高级推送方法
。然后(结果=>{
console.log('its connected')
})
.catch(错误=>{
控制台日志(err);
})
}
静态fetchAll(){
const db=getDb();
分贝
.collection('博客')
.find()
.toArray()
。然后(博客=>{
console.log('works')
返回博客
})
.catch(错误=>{
console.log(错误)
})
}
}
module.exports=Blog;
我的模型/博客代码有什么问题吗?我明白了,我的代码无法收到承诺,但我真的不知道该怎么办。伙计们,我发现我在这里遇到的唯一愚蠢的问题是,我甚至没有在fetchAll部分返回我的db()
static fetchAll(){
const db=getDb();
返回数据库
.collection('博客')
.find()
.toArray()
。然后(博客=>{
console.log('works')
返回博客
})
.catch(错误=>{
console.log(错误)
})
}
}
我忘了返回我的函数向我们展示../models/blog文件声音,就像有些东西不能返回承诺一样…是的,但我不知道该怎么做@epasarelloyea我已经更新了@Oli请检查一下好吗