摘要:安裝下載設(shè)置環(huán)境變量將的安裝目錄的寫(xiě)入環(huán)境變量啟動(dòng)服務(wù)控制臺(tái)輸入這后面的路徑便是數(shù)據(jù)集合的路徑服務(wù)啟動(dòng)成功提示監(jiān)聽(tīng)的是端口,打開(kāi)瀏覽器輸入,則會(huì)看到如下提示如果嫌每次輸入命令打開(kāi)服務(wù)麻煩的話可以寫(xiě)成一個(gè)批處理文件文件,寫(xiě)上代碼安裝模
安裝MongoDB
下載mongodb
設(shè)置環(huán)境變量將mongodb 的 安裝目錄的 E:Program FilesMongoDBServer3.4in 寫(xiě)入環(huán)境變量啟動(dòng)服務(wù)
控制臺(tái) 輸入 mongodb --dbpath E:MongoDBdata 這后面的路徑便是數(shù)據(jù)集合的路徑 服務(wù)啟動(dòng)成功提示
MongoDB監(jiān)聽(tīng)的是27017端口,打開(kāi)瀏覽器輸入http://127.0.0.1:27017,則會(huì)看到如下提示:
It looks like you are trying to access MongoDB over HTTP on the native driver port.
如果嫌每次輸入命令打開(kāi)服務(wù)麻煩的話可以 寫(xiě)成一個(gè)批處理文件 .bat 文件, 寫(xiě)上代碼
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ù)庫(kù)blog var db = mongoose.connection; // 連接成功 db.on("open", function(){ console.log("MongoDB Connection Successed"); }); // 連接失敗 db.on("error", function(){ console.log("MongoDB Connection Error"); });
連接成功后接下來(lái)寫(xiě)一個(gè) 登錄注冊(cè)
添加登錄注冊(cè)頁(yè)面在views模塊下添加 login.html 和register.html
登錄頁(yè)面
新增Models 模塊注冊(cè)頁(yè)面
去登錄
在根路徑下新建 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);編寫(xiě)路由
// 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ù)邏輯將寫(xiě)在 兩個(gè)post 路由里 router.post("/login", function (req, res) { }); router.post("/register", function (req, res) { });
這里我們需要安裝一個(gè)模塊 body-parser 用來(lái)解析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}));
這樣我們就可以通過(guò) request.body 來(lái)拿到post 請(qǐng)求過(guò)來(lái)的 數(shù)據(jù)了
先寫(xiě)一個(gè)注冊(cè)的
// routes/index.js router.post("/register", function (req, res) { // 獲取用戶(hù)提交的信息 var postData = { username: req.body.username, password: req.body.password, age: req.body.age, address: req.body.address }; // 查詢(xún)是否被注冊(cè) User.findOne({username: postData.username}, function (err, data) { if (data) { res.send("用戶(hù)名已被注冊(cè)"); } else { // 保存到數(shù)據(jù)庫(kù) User.create(postData, function (err, data) { if (err) throw err; console.log("注冊(cè)成功"); res.redirect("/userList"); // 重定向到所用用戶(hù)列表 }) } }); }); // 獲取所有用戶(hù)列表 router.get("/userList", function (req, res) { var userList = User.find({}, function (err, data) { if (err) throw err; res.send(data) }); });
上面通過(guò) mongoose 的 api 對(duì)數(shù)據(jù)庫(kù)進(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 的連接,插入,查詢(xún)。
ps : 參考文檔 Mongoose Api
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/18945.html
摘要:安裝下載設(shè)置環(huán)境變量將的安裝目錄的寫(xiě)入環(huán)境變量啟動(dòng)服務(wù)控制臺(tái)輸入這后面的路徑便是數(shù)據(jù)集合的路徑服務(wù)啟動(dòng)成功提示監(jiān)聽(tīng)的是端口,打開(kāi)瀏覽器輸入,則會(huì)看到如下提示如果嫌每次輸入命令打開(kāi)服務(wù)麻煩的話可以寫(xiě)成一個(gè)批處理文件文件,寫(xiě)上代碼安裝模 安裝MongoDB 下載mongodb 設(shè)置環(huán)境變量 將mongodb 的 安裝目錄的 E:Program FilesMongoDBServer3.4i...
摘要:一起源本人是一個(gè)前端攻城獅,本著對(duì)全棧工程師的向往,學(xué)習(xí)了搭建服務(wù)器,根據(jù)所學(xué)知識(shí)自己設(shè)計(jì)制作了一個(gè)簡(jiǎn)易的小說(shuō)閱讀系統(tǒng)悅讀。先睹為快悅讀這套系統(tǒng)包括后臺(tái)服務(wù)數(shù)據(jù)庫(kù)存儲(chǔ)后臺(tái)管理端客戶(hù)端。 一、起源 本人是一個(gè)前端攻城獅,本著對(duì)全棧工程師的向往,學(xué)習(xí)了nodejs搭建web服務(wù)器,根據(jù)所學(xué)知識(shí)自己設(shè)計(jì)制作了一個(gè)簡(jiǎn)易的小說(shuō)閱讀系統(tǒng)——悅讀。先睹為快:悅讀這套系統(tǒng)包括:后臺(tái)服務(wù)、數(shù)據(jù)庫(kù)存儲(chǔ)、后...
摘要:連接數(shù)據(jù)庫(kù)如果不自己創(chuàng)建默認(rèn)數(shù)據(jù)庫(kù)會(huì)自動(dòng)生成地址跟第一步的地址對(duì)應(yīng)?,F(xiàn)在回過(guò)頭來(lái)看里面的入口文件最后,我們?cè)跒g覽器輸入,就會(huì)跳到。到此為止,我們就完成了整個(gè)前后端各自開(kāi)發(fā)到正式部署的流程。 一個(gè)完整的網(wǎng)站服務(wù)架構(gòu)包括:1、web frame ---這里應(yīng)用express框架2、web server ---這里應(yīng)用nodejs3、Database ---這里應(yīng)用monggoDB4、...
閱讀 2518·2019-08-29 13:53
閱讀 2573·2019-08-29 11:32
閱讀 3133·2019-08-28 17:51
閱讀 3953·2019-08-26 10:45
閱讀 3600·2019-08-23 17:51
閱讀 3068·2019-08-23 16:56
閱讀 3407·2019-08-23 16:25
閱讀 3230·2019-08-23 14:15