nodejs+express+mongodb入门
- 1.下载nodejs
- 2.使用
npm install -g express
来下载express模块 - 3.然后可以使用
express -h
来查看一下express的帮助 - 4.使用
express testnode
来生成初始化的项目 - 5.进入testnode项目文件中,使用
npm install
来进行项目依赖的安装 - 6.最后使用
npm start
来启动服务。在浏览器窗口输入localhost:3000就可以查看到欢迎页面
要连接mongodb数据库我们必须在电脑上已经下载好了mongodb的数据库,可以到mongodb的官网进行下载
- 1.到mongodb的官网下载mongodb进行安装
- 2.改变testnode项目中的package.json文件,在dependencies中加入
"mongodb":"*",
,然后再重新的使用
"monk":"*"npm installl
安装一下依赖项目 - 3.开始启动mongodb,在testnode项目目录下创建一个data文件夹,然后使用cmd进入mongodb的安装目录,执行:
mongod --dbpath e:\node\testnode\data
,执行完这条命令后mongo已经启动,然后在mongodb的安装安装目录下执行mongo就可以进入mongodb的客户端,然后就可以进入数据库的操作了。mongodb的操作流程:
1.使用use testnode
//这条命令表示使用use数据库,没有就会创建
2.向testnode中添加数据执行
3.使用命令查看
newstuff = [{ “username” : “byer2”, “email” : “byer2@byer2.com” }, { “username” : “byer3”, “email” : “byer3@byer3.com” }]
4.插入多条数据
db.usercollection.insert(newstuff);
5.接下来我们要在入口文件中添加几行代码来连接mongodb了。在app.js中添加如下代码
var monk = require(‘monk’);
var db = monk(‘localhost:27017/testnode’)`
6.然后我们新建一个路由来展示从数据库中取出来的数据,代码示例如下:
var list = require('./routes/list');
app.use('/list',list.userMongo(db));
7.然后我们在router文件中加入list.js,在文件中写入如下代码:
exports.userMongo = function(db) {
return function(req, res) {
var collection = db.get('usercollection');
collection.find({},{},function(e,docs){
res.render('list', {
"userlist" : docs
});
});
};
};
8.现在我们在views目录下来新建list.jade文件,写入如下代码:
extends layout
block content
h1.
User List
ul
each user, i in userlist
li
a(href="mailto:#{user.email}")= user.username
现在我们可以重启服务,在浏览中输入localhost:3000/list查看从数据库中取出来的数据在页面的呈现了。
向mongodb数据库中写入数据
- 我们先得新建一个路由,让用户可以访问这个路由进入数据的填写,在app.js中写入如下代码:
var commit = require('./routes/commit');
app.use('/commit',commit);
2. 然后我们在routes下面新建commit.js,写入如下代码:
var express = require('express');
var router = express.Router();
router.get('/',function(req,res,next){
res.render('commit',{title: 'Add user'})
})
module.exports = router;
3.在views下面新建commit.jade文件,写入如下代码:
extends layout
block content
h1= title
form#formAddUser(name="adduser",method="post",action="/adduser")//此处使用post将表单提交到adduser中,所以我们得新建一个post路由来接收用户提交的数据,即下面的步骤
input#inputUserName(type="text", placeholder="username", name="username")
input#inputUserEmail(type="text", placeholder="useremail", name="useremail")
button#btnSubmit(type="submit") submit
4.在app.js中新建post路由,代码如下:
var adduser = require('./routes/adduser');
app.post('/adduser',adduser.adduser(db));
5.在routes中新建adduser.js,写入代码如下:
exports.adduser = function(db) {
return function(req, res) {
// Get our form values. These rely on the "name" attributes
var userName = req.body.username;
var userEmail = req.body.useremail;
// Set our collection
var collection = db.get('usercollection');
// Submit to the DB
collection.insert({
"username" : userName,
"email" : userEmail
}, function (err, doc) {
if (err) {
// If it failed, return error
res.send("There was a problem adding the information to the database.");
}
else {
// If it worked, set the header so the address bar doesn't still say /adduser
res.location("list");
// And forward to success page
res.redirect("list");//在成功添加到数据库后,转发回的list页面,在那里将看到新添加的用户。
}
});
}
}
这样就完成了nodejs+express+mongodb的读取数据的入门了!