成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Nodejs Express 連接Mongodb

madthumb / 3190人閱讀

摘要:安裝下載設(shè)置環(huán)境變量將的安裝目錄的寫入環(huán)境變量啟動(dòng)服務(wù)控制臺(tái)輸入這后面的路徑便是數(shù)據(jù)集合的路徑服務(wù)啟動(dòng)成功提示監(jiān)聽的是端口,打開瀏覽器輸入,則會(huì)看到如下提示如果嫌每次輸入命令打開服務(wù)麻煩的話可以寫成一個(gè)批處理文件文件,寫上代碼安裝模

安裝MongoDB

下載mongodb

設(shè)置環(huán)境變量
將mongodb 的 安裝目錄的 E:Program FilesMongoDBServer3.4in 寫入環(huán)境變量
啟動(dòng)服務(wù)
控制臺(tái) 輸入 mongodb --dbpath E:MongoDBdata   這后面的路徑便是數(shù)據(jù)集合的路徑 
服務(wù)啟動(dòng)成功提示

MongoDB監(jiān)聽的是27017端口,打開瀏覽器輸入http://127.0.0.1:27017,則會(huì)看到如下提示:
  It looks like you are trying to access MongoDB over HTTP on the native driver port.

如果嫌每次輸入命令打開服務(wù)麻煩的話可以 寫成一個(gè)批處理文件 .bat 文件, 寫上代碼

start mongod --dbpath E:MongoDBdata  
安裝模塊
npm install mongoose --save 
使用MongoDB 連接

在app.js 文件中

// app.js

var mongoose = require("mongoose");            

mongoose.connect("mongodb://localhost/blog")     //連接本地?cái)?shù)據(jù)庫blog 

var db = mongoose.connection;

// 連接成功
db.on("open", function(){
    console.log("MongoDB Connection Successed");
});
// 連接失敗
db.on("error", function(){
    console.log("MongoDB Connection Error");
});

連接成功后接下來寫一個(gè) 登錄注冊(cè)

添加登錄注冊(cè)頁面

在views模塊下添加 login.html 和register.html



登錄頁面


注冊(cè)頁面

去登錄

新增Models 模塊

在根路徑下新建 Models 文件夾。 添加 users.js

// Models/users.js

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

// 聲明一個(gè)數(shù)據(jù)集 對(duì)象
var userSchema = new Schema({
    username: {
        type: String,
        unique: true
    },
    password: {
        type: String
    },
    age: Number,
    address: String,
    createAt: {
        type: Date,
        default : Date.now()
    }
});
// 將數(shù)據(jù)模型暴露出去
module.exports = mongoose.model("users", userSchema);
編寫路由
// routes/index.js

var express = require("express");
var router = express.Router();
var User = require("../models/users");

router.get("/login", function (req, res) {
    res.render("login");
});
router.get("/register", function (req, res) {
    res.render("register");
});

// 這里的業(yè)務(wù)邏輯將寫在 兩個(gè)post 路由里 
router.post("/login", function (req, res) {

});
router.post("/register", function (req, res) {
       
});

這里我們需要安裝一個(gè)模塊 body-parser 用來解析post請(qǐng)求的參數(shù)

npm install body-parser --save
// app.js 

var bodyParser = require("body-parser")
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false}));

這樣我們就可以通過 request.body 來拿到post 請(qǐng)求過來的 數(shù)據(jù)了

先寫一個(gè)注冊(cè)的

// routes/index.js

router.post("/register", function (req, res) {

    // 獲取用戶提交的信息
    var postData = {
        username: req.body.username,
        password: req.body.password,
        age: req.body.age,
        address: req.body.address
    };
    // 查詢是否被注冊(cè)
    User.findOne({username: postData.username}, function (err, data) {
        if (data) {
            res.send("用戶名已被注冊(cè)");
        } else {
            // 保存到數(shù)據(jù)庫
            User.create(postData, function (err, data) {
                if (err) throw err;
                console.log("注冊(cè)成功");
                res.redirect("/userList");      // 重定向到所用用戶列表
            })
        }
    });
});

// 獲取所有用戶列表
router.get("/userList", function (req, res) {
    var userList = User.find({}, function (err, data) {
        if (err) throw  err;
        res.send(data)
    });
});

上面通過 mongoose 的 api 對(duì)數(shù)據(jù)庫進(jìn)行操作
Mongoose Api

然后就是驗(yàn)證登錄的了

router.post("/login", function (req, res) {
    var postData = {
        username: req.body.username,
        password: req.body.password
    };
    User.findOne({
        username: postData.username,
        password: postData.password
    }, function (err, data) {
        if(err) throw err;
        if(data){
            res.send("登錄成功");
        }else{
            res.send("賬號(hào)或密碼錯(cuò)誤")
        }
    } )
});

到這里就基本完成了 Express 對(duì)Mongodb 的連接,插入,查詢。

ps : 參考文檔 Mongoose Api

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/18945.html

相關(guān)文章

  • Nodejs Express 連接Mongodb

    摘要:安裝下載設(shè)置環(huán)境變量將的安裝目錄的寫入環(huán)境變量啟動(dòng)服務(wù)控制臺(tái)輸入這后面的路徑便是數(shù)據(jù)集合的路徑服務(wù)啟動(dòng)成功提示監(jiān)聽的是端口,打開瀏覽器輸入,則會(huì)看到如下提示如果嫌每次輸入命令打開服務(wù)麻煩的話可以寫成一個(gè)批處理文件文件,寫上代碼安裝模 安裝MongoDB 下載mongodb 設(shè)置環(huán)境變量 將mongodb 的 安裝目錄的 E:Program FilesMongoDBServer3.4i...

    simon_chen 評(píng)論0 收藏0
  • nodejs+express+mongodb+react+layui完整的小說閱讀系統(tǒng)--悅讀

    摘要:一起源本人是一個(gè)前端攻城獅,本著對(duì)全棧工程師的向往,學(xué)習(xí)了搭建服務(wù)器,根據(jù)所學(xué)知識(shí)自己設(shè)計(jì)制作了一個(gè)簡易的小說閱讀系統(tǒng)悅讀。先睹為快悅讀這套系統(tǒng)包括后臺(tái)服務(wù)數(shù)據(jù)庫存儲(chǔ)后臺(tái)管理端客戶端。 一、起源 本人是一個(gè)前端攻城獅,本著對(duì)全棧工程師的向往,學(xué)習(xí)了nodejs搭建web服務(wù)器,根據(jù)所學(xué)知識(shí)自己設(shè)計(jì)制作了一個(gè)簡易的小說閱讀系統(tǒng)——悅讀。先睹為快:悅讀這套系統(tǒng)包括:后臺(tái)服務(wù)、數(shù)據(jù)庫存儲(chǔ)、后...

    laoLiueizo 評(píng)論0 收藏0
  • MEVN 架構(gòu)(MongoDB + Express + Vue + NODEJS)搭建

    摘要:連接數(shù)據(jù)庫如果不自己創(chuàng)建默認(rèn)數(shù)據(jù)庫會(huì)自動(dòng)生成地址跟第一步的地址對(duì)應(yīng)。現(xiàn)在回過頭來看里面的入口文件最后,我們?cè)跒g覽器輸入,就會(huì)跳到。到此為止,我們就完成了整個(gè)前后端各自開發(fā)到正式部署的流程。 一個(gè)完整的網(wǎng)站服務(wù)架構(gòu)包括:1、web frame ---這里應(yīng)用express框架2、web server ---這里應(yīng)用nodejs3、Database ---這里應(yīng)用monggoDB4、...

    Lsnsh 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<