安装mongodb
http://www.runoob.com/mongodb/mongodb-window-install.html
windows平台下,推荐使用Robomongo工具管理mongodb数据库。
安装nodejs
http://www.runoob.com/nodejs/nodejs-install-setup.html
首先全局安装express
http://www.expressjs.com.cn/starter/generator.html
然后使用express生成器创建相关目录
express blog
cd blog
修改package.json,新增对mongodb和method-override的依赖。
"method-override": "^2.1.2",
"mongodb":">=2.2",
然后安装相关依赖
npm install
简单说明
这个小程序是参照《nodejs入门经典》这本书的例子写的,书上的代码有些bug,基本相当于重写了一遍。
编写更新和删除mongodb中的文档时,是通过mongodb自动产生的_id来查询的。mongoose可以使用findById方法进行查询。
为了加深对mongodb的学习和理解,我使用的是mongodb原生驱动,_id的值是ObjectID类型,可以用以下方法查询,具体可以查看文章最后的github源代码(tasks.js)。
var ObjectID = require('mongodb').ObjectId;
var whereJson = {_id:ObjectID(req.params.id)};
功能说明
路径 | HTTP方法 | 说明 |
---|---|---|
/tasks | GET | 显示任务列表 |
/tasks/new | GET | 显示新增任务表单 |
/tasks/edit | GET | 显示修改任务表单 |
/tasks | POST | 新增任务 |
/tasks | PUT | 修改任务 |
/tasks | DELETE | 删除任务 |
路由文件
主路由文件
在主路由文件app.js中,需要引入tasks路由文件,并配置method-override方法。
var methodOverride = require('method-override');
...
var tasks = require('./routes/tasks');
...
app.use(methodOverride('_method'));
...
app.use('/tasks', tasks);
tasks路由文件
在routes文件夹下新建tasks.js路由文件,专门负责任务管理系统部分的路由。
下面路由文件包含了对mongodb的增删改减操作。
var express = require('express');
var router = express.Rou