1、这里package.json的依赖版本为
"dependencies": {
"ejs": "^2.6.1",
"mongodb": "^3.1.12"
}
2、目录结构
3、01nodejs_mongodb.js(实现增加,修改和删除)
var http = require('http')
var ejs = require('ejs')
var app = require('./model/express_router');
var url = require('url')
var DBurl = 'mongodb://127.0.0.1:27017';
var MongoClient = require('mongodb').MongoClient;
http.createServer(app).listen(3000);
app.get('/', function (req, res) {
var msg = 'this is the data from database';
ejs.renderFile('./views/index.ejs', {
msg: msg
}, function (err, data) {
res.send(data)
})
})
app.get('/add', function (req, res) {
MongoClient.connect(DBurl, function (err, db) {
if (err) {
console.log(err);
console.log('the connection to the database has failed')
return;
}
console.log('数据库连接成功')
const dataBase = db.db('itying')
const user = dataBase.collection('user')
user.insertOne({
"name": 'xionger',
"age": 50
}, function (error, result) {
if(error){
console.log('the data is failed to be added to the database');
return;
}
res.send('the data is added to the database successly');
db.close();//关闭数据库
}
)
})
})
app.get('/edit',function(req,res){
MongoClient.connect(DBurl,function(err,db){
if(err){
console.log(err);
console.log('the connection to the database has failed')
return;
}
console.log('数据库连接成功')
const dataBase = db.db('itying')
const user = dataBase.collection('user')
user.update({"name":"lisi"},{$set:{"age":222}},
function(error,data){
if(error){
console.log('the change of the data is failed');
return;
}
console.log(data.toString());
res.send('the change of the data is success')
db.close();
}
)
})
})
app.get('/delete',function(req,res){
var query = url.parse(req.url,true).query;
var name = query.name;
MongoClient.connect(DBurl,function(err,db){
if(err){
console.log(err);
console.log('the connection to the database has failed')
return;
}
const dataBase = db.db('itying')
const user = dataBase.collection('user')
user.remove({"name":name},function(error,data){
if(error){
console.log('删除失败');
return;
}
console.log(data.toString());
res.send('the delete of the data is success')
db.close();
})
})
})
4、02nodejs_mongodb.js(实现查询,并将查询结果在index.ejs上显示)
var http = require('http')
var MongoClient = require('mongodb').MongoClient;
var DBurl = 'mongodb://localhost:27017'
var app = require('./model/express_router')
http.createServer(app).listen(3000)
var ejs = require('ejs')
app.get('/',function(req,res){
MongoClient.connect(DBurl,function(error,db) {
if(error){
console.log(error);
console.log('the connection to the itying database is failed')
return;
}
//根据字符(database name)返回一个数据库实例化对象
const itying = db.db('itying')
const user = itying.collection('user')
var list = [];/*放数据库里面查询的所有数据*/
var result = user.find({})
result.each(function(error,doc){
if(error){
console.log(error);
}else{
if(doc!=null){
list.push(doc)
}else{
ejs.renderFile('./views/index.ejs',{list:list},function(err,data){
res.send(data);
})
db.close()
}
}
})
})
})
app.get('/add',function(req,res){
MongoClient.connect(DBurl,function(err,db){
const dataBase = db.db('itying')
const user = dataBase.collection('user')
user.insertOne({name:"zhangsan",age:40},function(err,data){
if(err){
console.log('adding to database is failed')
console.log(err);
return;
}
console.log(data)
res.send('adding data successly')
db.close()
})
})
})
5、index.ejs
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<ul>
<%for(var i=0;i<list.length;i++){%>
<li><%=list[i].name%></li>
<%}%>
</ul>
</body>
</html>