nodejs+express+mongodb入门

来源:互联网 发布:解压缩软件官方下载 编辑:程序博客网 时间:2024/05/16 18:47

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中添加数据执行
    db.usercollection.insert({ “username” : “byer”, “email” : “byer@byer.com” })
    3.使用
    db.usercollection.find().pretty()命令查看
    4.插入多条数据
    newstuff = [{ “username” : “byer2”, “email” : “byer2@byer2.com” }, { “username” : “byer3”, “email” : “byer3@byer3.com” }]
    db.usercollection.insert(newstuff);
    5.接下来我们要在入口文件中添加几行代码来连接mongodb了。在app.js中添加如下代码
    var mongo = require(‘mongodb’);
    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 layoutblock content    h1.        User List    ul        each user, i in userlist            li                a(href="mailto:#{user.email}")= user.username

现在我们可以重启服务,在浏览中输入localhost:3000/list查看从数据库中取出来的数据在页面的呈现了。

向mongodb数据库中写入数据

  1. 我们先得新建一个路由,让用户可以访问这个路由进入数据的填写,在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 layoutblock 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的读取数据的入门了!

0 0
原创粉丝点击