node.js + express(ejs) + mongodb(mongoose) 增删改实例

MongoDB 安装步骤总结:

1、解压目录到d mongodb

2、安装目录的下新建文件mongo.config文件

 

##store data here
dbpath=D:\mongodb\data
 
##all output go here
logpath=D:\mongodb\log\mongo.log
 
##log read and write operations
diaglog=3
3d:\mongodb\bin>mongod --config D:\mongodb\mongo.config
4d:\mongodb\bin> mongod --config D:\mongodb\mongo.config --install

net start MongoDB
net stop MongoDB
mongod --remove
1、创建node项目

express -e demo

2、初始化相关组件

 

npm install
// 初始化ejs
npm install ejs
// 初始化express组件
npm install express
// 初始化mongdb组合的组件 
npm install mongoose
npm install express-mongoose
// node 默认启动后修改文件,页面不会立即体现,通过该组件可以使修改的文件实时在页面体现出来
npm install supervisor
3、运行app.js,访问:http://localhost:3000,查看页面,如看到以下页面则说明页面访问成功:
node.js + express(ejs) + mongodb(mongoose) 增删改实例
 
4、此时项目默认使用*.ejs作为页面的模板,为了方便我们吧ejs的后缀修改html
a) 修改app.js中内容:

var ejs = require(‘ejs‘); //增加

app.engine(‘html‘,ejs.__express); //增加

//将app.set(‘view engine‘, ‘ejs‘); 修改为app.set(‘view engine‘, ‘html‘);

node.js + express(ejs) + mongodb(mongoose) 增删改实例
 
b) 重命名views下的index.ejs为index.html
 
5、重新启动服务访问,如果页面可以正常显示则说明修改成功。
 
6、现在开始写增删改查的详细方法
 
1)修改路由(app.js)

app.get(‘/add.html‘,routes.add); //跳转到添加页面
app.post(‘/add.html‘, routes.create);//添加记录
app.get(‘/del.html‘,routes.delById);//删除
app.get(‘/modify.html‘, routes.toModify); //跳转到修改页面
app.post(‘/modify.html‘, routes.modify);//修改数据

2)在routes目录下创建model.js文件,内容如下:

var mongoose = require(‘mongoose‘);
var Schema = mongoose.Schema;

var demoSchema = new Schema({
uid : String,
title:String,
content:String,
createTime : { type: Date, default: Date.now }
});

exports.Demo = mongoose.model(‘Demo‘,demoSchema); //此处Demo会自动对应数据库中的demos表,不知道是不是可以修改,反正我是这个认为的。

3)修改index.js,添加逻辑方法

/*
* GET home page.
*/
var mongoose = require(‘mongoose‘);
var model = require(‘./model‘);
var Demo = model.Demo;

mongoose.connect(‘mongodb://localhost/monkey‘);

exports.index = function(req, res){
//查询所有数据,保存到demos中,在页面循环输出
Demo.find(function(err,docs){
res.render(‘index‘, {
title:‘Express Demo Example‘,
demos:docs
});
});

};

//跳转到添加页面
exports.add = function(req, res) {
console.log(‘----here‘);
res.render(‘add.html‘, {title :‘添加 demo list‘});
};

//创建新纪录
exports.create = function(req, res){
var demo = new Demo({
uid : req.body.uid,
title: req.body.title,
content : req.body.content
});

console.log(‘create----‘);
demo.save(function(err,doc){
console.log(doc);
res.redirect(‘/‘);
});

};

// 根据id删除相应的记录
exports.delById = function(req, res) {

var id = req.query.id;
console.log(‘id = ‘ + id);

if(id && ‘‘ != id) {
console.log(‘----delete id = ‘

上一篇:Mongodb 条件查询


下一篇:Oracle MERGE INTO的使用方法