摘要:安裝下載設(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
登錄頁面
新增Models 模塊注冊(cè)頁面
去登錄
在根路徑下新建 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
摘要:安裝下載設(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...
摘要:一起源本人是一個(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ǔ)、后...
摘要:連接數(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、...
閱讀 2437·2019-08-29 13:53
閱讀 2517·2019-08-29 11:32
閱讀 3057·2019-08-28 17:51
閱讀 3803·2019-08-26 10:45
閱讀 3523·2019-08-23 17:51
閱讀 2992·2019-08-23 16:56
閱讀 3345·2019-08-23 16:25
閱讀 3100·2019-08-23 14:15