nodejs博客系统(express+mongodb)2——划分模块+连接数据库
来源:互联网 发布:mac复制文件夹到u盘 编辑:程序博客网 时间:2024/05/22 12:00
可参考文档:http://mongoosejs.com/docs/guide.html
1、在app.js中进行模块划分:前台、后台和API模块。
app.use('/admin',require('./routers/admin'));//相当于子路由app.use('/api',require('./routers/api'));app.use('/',require('./routers/main'));
2、在routers下建立admin.js, api.js, main.js,同样引入框架、创建路由,注意:最后需要返回路由对象,作为第二个参数传给app.use…示例如下:
var express = require('express');//创建路由对象var router = express.Router();//监听,根据app.js中app.use('/admin',require('./router/admin'));,不用再写/adminrouter.get('/user',function(req,res,next){res.send('ADMIN-User');})module.exports = router;
3、对于一个博客系统,整体说来,admin模块大致分为首页、用户管理、分类管理、文章内容管理和评论内容管理(列表、添加、编辑、删除等),api模块大致有注册、登陆、发表评论等。合理的功能模块开发顺序为:用户-->栏目分类-->内容-->评论。
4、用Schema定义用户数据的存储结构,先引入mongooose,再在后端实现用户注册、登陆、管理员验证等逻辑;
5、在应用程序的启动文件app.js中连接数据库:
var mongoose = require('mongoose');
……
mongoose.connect();
要安装好mongodb和其可视化工具RoboMongo,细节不赘述,mongodb的Complete安装的默认安装路径为C:\Program Files。
在此路径下打开命令窗口,开启其服务端mongod --dbpath=[db路径] --port=[指定端口]
(注:默认端口为27017,若被占用,则更为27018)
出现等待连接即配置成功;
可以通过mongo.exe用命令行来实现数据库的连接,这里,使用可视化工具RoboMongo,Create一个新的连接。
则数据库连接成功。
mongoose.connect('mongodb://localhost:27018/blog', function(err){if(err){console.log('Connection to tha database has failed!');}else{console.log('Connection to tha database succeed!');//监听http请求app.listen(8080);}});
注意:这里的操作都需要重启服务器。
此外,注意这里的监听http请求语句,因此,若重启服务器,则需要先开启mongodb,再开启node。
(若重新开启服务器连接数据库时出现cannot connect to mongodb ……network is unreachable,记住需要启动mongodb,mongod --dbpath=[db路径] --port=[指定端口] )
6、通过mongoose下的Schema定义用户的表结构
//把定义好的new出来的对象暴露出去module.exports = new mongoose.Schema({username:String,password:String});7、在应用中,我们是根据模型来对数据进行增删改查的,模型类又是基于结构来处理的。因此在创建过表结构之后,要再创建模型类,在models文件下新建User.js。
var mongoose = require('mongoose');//把刚才定义的schema文件加载进来var usersSchema = require('../schemas/users');//创建模型,暴露出去module.exports = mongoose.model('User',usersSchema);8、开始在app.js中设置的目录是views,则在routers/main.js中利用res.render()语句渲染view下的index.html,再重启服务器,实现首页的渲染。
接下来就是实现自己的静态页面啦,用到jquery,ajax,json……下一篇写博客系统中涉及到的主要功能的实现~
- nodejs博客系统(express+mongodb)2——划分模块+连接数据库
- nodejs博客系统(express+mongodb)1——模块引擎配置
- 实战开发:nodejs(express)+mongodb+........简单博客系统代码
- Nodejs Express 连接Mongodb
- nodejs开发——mongodb数据库与express框架结合
- Nodejs——搭建电影展示平台(Express+MongoDB)
- nodeJs+express+mongoDB开发个人博客
- Nodejs+express+mongodb+mongoose实现个人博客
- nodejs--express开发个人博客(2)
- DoraCMS 基于Nodejs+express+mongodb 内容管理系统
- nodejs--express开发博客系统(三)
- [NodeJs] Express + Mongodb + Materialize 搭建多人博客
- express+mongoDB实现的博客系统
- 学习笔记:nodejs(二)——node+express+mongodb建站相关(express4)
- nodejs/express+mongodb/mongoose
- nodejs+express+mongodb
- nodejs+express+mongodb安装
- nodejs+express+mongodb入门
- 开发中遇到的问题汇总
- RxJava操作符(三) __过滤操作
- poj 1686
- excel分列功能
- Yougth的最大化(二分法加贪心)
- nodejs博客系统(express+mongodb)2——划分模块+连接数据库
- 在不关站的情况下对网站备案的方法
- 高效工作的六个方法
- 《web应用程序——CGI到Web三层系统》---读书笔记
- Intellij IDEA下载、注册、安装、插件安装(scala插件与SBT插件安装)和创建scala项目
- java类中的构造函数和构造代码块
- JAVA桌面UI编程之布局管理器
- codeforce D. Innokenty and a Football League 贪心,模拟
- 调用bootstrap框架(IDEA环境)