2018-08,本文适合对egg感兴趣,想知道完整项目代码的同学:https://github.com/NameHewei/node-egg项目主文件目录结构|——app|——controller|——cook.js|——model|——cook.js|——router.js|——config|——config.default.js|——plugin.js|——package.json|——README.md安装官网:https://eggjs.org/zh-cn/npmiegg-init-gegg-initegg-example--type=simplecdegg-examplenpmistart项目npmrundevproject这篇文章主要是搭建一个连接mongoDB的后端,提供连接数据库的api接口1.引入数据库插件,在plugin.js文件中添加如下代码exports.mongoose={enable:true,package:'egg-mongoose',};2、在config.default.js中添加如下配置config.mongoose={client:{url:'mongodb://127.0.0.1:27017/database-name',},}编写model,在model下添加文件,cook.js文件module.exports=app=>{constmongoose=app.mongoose;constSchema=mongoose.Schema;constCookeSchema=newSchema({_id:{type:Schema.Types.ObjectId},name:{type:String},img:{type:String},步骤:{type:String}},{版本密钥:假});returnmongoose.model('cooks',CookeSchema);}mongoDB中使用_id时注意type的类型,以及如何去掉__v版本锁字段写controller并添加到controller文件夹下,cook.js文件constController=require('egg').Controller;classHomeControllerextendsController{asynclist(){this.ctx.response.body={结果:等待this.ctx.model.Cook.find({},{'_id':0})};}asynclistOne(){const{id}=this.ctx.paramsthis.ctx.body={结果:等待this.ctx.model.Cook.find({'_id':id},{'_id':0})};}}module.exports=HomeController;这里用于获取数据库中的数据添加路由module.exports=app=>{const{router,controller}=app;路由器.get('/cook/',controller.cook.list);router.get('/cook/:id',controller.cook.listOne);};确保数据库可以连接成功后,就可以启动项目了。本文只是辅助介绍快速搭建一个基础的egg项目。详情请参考:https://eggjs.org/如有疑问或错误,请留言,谢谢!Github博客问题
