zoukankan      html  css  js  c++  java
  • 搭建简单的node+express+mongodb项目

    安装

    首先要确保已经安装了 Node.js,接下来创建一个目录,然后进入此目录并将其作为当前工作目录。

    mkdir myapp
    cd myapp
    

    通过 npm init 命令为应用创建一个 package.json 文件,指定入口文件为 index.js,然后一路回车确定即可。

    npm init
    

    接下来安装 Express 并将其保存到依赖列表中:

    npm install express --save
    

    创建 MongoDB 数据库

    首先要确保安装了 MongoDB,并且把 mongoose 添加到 package.json 依赖里,

    npm install mongoose --save
    

    然后在CMD里执行下面命令

    mongo //进入数据库
    
    use express-demo //创建项目数据库
    
    db.createCollection("users") //创建一个集合,也就是表
    
    db.users.insert({userid: "admin", password: "123456"}) //给users里添加一个文档,也就是一条记录账号admin,密码123456
    

    ok,现在检查一下:

    db.users.find() //如果看到你刚刚添加的文档记录,就ok咯
    

    搭建项目原型

    进入myapp 目录,创建一个名为 index.js 的文件,此文件为入口文件,将下面代码复制进去;

    var express = require('express');
    var http = require('http')
    var app = express();
    var mongoose = require('mongoose');
    var user = require('./models/user').user;
    var bodyParser = require('body-parser');
    
    mongoose.connect('mongodb://localhost/express-demo');
    app.set('view engine', 'jade');
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({extended: true}));
    app.get('/', (req, res) => {
        res.render('index', {title: 'index'})
    })
    app.get('/login', (req, res) => {
        res.render('login', {title: 'login'})
    })
    app.get('/loginout', (req, res) => {
        res.render('loginout', {title: 'loginout'})
    })
    app.post('/homepage', (req, res) => {
        var query_doc = {
            userid: req.body.userid,
            password: req.body.password
        };
        (function () {
            user.count(query_doc, (err, doc) => {
                if (doc == 1) {
                    console.log(query_doc.userid + ": login success in " + new Date());
                    res.render('homepage', {title: 'homepage'});
                } else {
                    console.log(query_doc.userid + ": login failed in " + new Date());
                    res.render('error', {title: 'login error'})
                }
            });
        })(query_doc);
    })
    var server = http.createServer(app);
    
    server.listen(3000, () => {
        console.log('服务已启动')
    })
    

    上面这个index.js文件里,连接了 mongodb 并且创建了一个基本的服务器,设置了 jade 作为默认模板引擎;
    然后,创建 models 文件夹,在models下创建一个user.js,作为实体类映射数据库的users集合;

    var mongoose = require('mongoose')
    var Schema = mongoose.Schema;
    var userSchema = new Schema({
    	userid: String,
    	password: String
    });
    exports.user = mongoose.model('users', userSchema);
    

    接下来,创建一个视图 views ,在 views 下面创建模板 index.jade、login.jade、loginout.jade、homepage.jade、error.jade,在模板里写出基本的页面,并引入 bootstrap 来美化页面;至此,基本大功告成了!
    在cmd运行

    node index.js
    

    npm start
    

    在浏览器打开 http://localhost:3000/ ,即可看到效果!
    Github地址:https://github.com/jonechen1986/Node-Express-MongoDB

  • 相关阅读:
    大文件上传
    zabbix接口
    Vue 在不同的环境使用不同的接口地址
    Vue发布流程
    RabbitMQ集群一些使用细节
    Watcher 系统整体流程图
    监控系统各个模块部署
    deepin安装node和npm最新
    google安装json插件
    数据库访问性能优化 Oracle
  • 原文地址:https://www.cnblogs.com/jone-chen/p/6898986.html
Copyright © 2011-2022 走看看