摘要:安裝下載設(shè)置環(huán)境變量將的安裝目錄的寫入環(huán)境變量啟動服務控制臺輸入這后面的路徑便是數(shù)據(jù)集合的路徑服務啟動成功提示監(jiān)聽的是端口,打開瀏覽器輸入,則會看到如下提示如果嫌每次輸入命令打開服務麻煩的話可以寫成一個批處理文件文件,寫上代碼安裝模
安裝MongoDB
下載mongodb
設(shè)置環(huán)境變量將mongodb 的 安裝目錄的 E:Program FilesMongoDBServer3.4in 寫入環(huán)境變量啟動服務
控制臺 輸入 mongodb --dbpath E:MongoDBdata 這后面的路徑便是數(shù)據(jù)集合的路徑 服務啟動成功提示
MongoDB監(jiān)聽的是27017端口,打開瀏覽器輸入http://127.0.0.1:27017,則會看到如下提示:
It looks like you are trying to access MongoDB over HTTP on the native driver port.
如果嫌每次輸入命令打開服務麻煩的話可以 寫成一個批處理文件 .bat 文件, 寫上代碼
start mongod --dbpath E:MongoDBdata安裝模塊
npm install mongoose --save使用MongoDB 連接
在app.js 文件中
// app.js var mongoose = require("mongoose"); mongoose.connect("mongodb://localhost/blog") //連接本地數(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"); });
連接成功后接下來寫一個 登錄注冊
添加登錄注冊頁面在views模塊下添加 login.html 和register.html
登錄頁面
新增Models 模塊注冊頁面
去登錄
在根路徑下新建 Models 文件夾。 添加 users.js
// Models/users.js var mongoose = require("mongoose"); var Schema = mongoose.Schema; // 聲明一個數(shù)據(jù)集 對象 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è)務邏輯將寫在 兩個post 路由里 router.post("/login", function (req, res) { }); router.post("/register", function (req, res) { });
這里我們需要安裝一個模塊 body-parser 用來解析post請求的參數(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 請求過來的 數(shù)據(jù)了
先寫一個注冊的
// 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 }; // 查詢是否被注冊 User.findOne({username: postData.username}, function (err, data) { if (data) { res.send("用戶名已被注冊"); } else { // 保存到數(shù)據(jù)庫 User.create(postData, function (err, data) { if (err) throw err; console.log("注冊成功"); 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 對數(shù)據(jù)庫進行操作
Mongoose Api
然后就是驗證登錄的了
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("賬號或密碼錯誤") } } ) });
到這里就基本完成了 Express 對Mongodb 的連接,插入,查詢。
ps : 參考文檔 Mongoose Api
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/81552.html
摘要:安裝下載設(shè)置環(huán)境變量將的安裝目錄的寫入環(huán)境變量啟動服務控制臺輸入這后面的路徑便是數(shù)據(jù)集合的路徑服務啟動成功提示監(jiān)聽的是端口,打開瀏覽器輸入,則會看到如下提示如果嫌每次輸入命令打開服務麻煩的話可以寫成一個批處理文件文件,寫上代碼安裝模 安裝MongoDB 下載mongodb 設(shè)置環(huán)境變量 將mongodb 的 安裝目錄的 E:Program FilesMongoDBServer3.4i...
摘要:一起源本人是一個前端攻城獅,本著對全棧工程師的向往,學習了搭建服務器,根據(jù)所學知識自己設(shè)計制作了一個簡易的小說閱讀系統(tǒng)悅讀。先睹為快悅讀這套系統(tǒng)包括后臺服務數(shù)據(jù)庫存儲后臺管理端客戶端。 一、起源 本人是一個前端攻城獅,本著對全棧工程師的向往,學習了nodejs搭建web服務器,根據(jù)所學知識自己設(shè)計制作了一個簡易的小說閱讀系統(tǒng)——悅讀。先睹為快:悅讀這套系統(tǒng)包括:后臺服務、數(shù)據(jù)庫存儲、后...
摘要:連接數(shù)據(jù)庫如果不自己創(chuàng)建默認數(shù)據(jù)庫會自動生成地址跟第一步的地址對應。現(xiàn)在回過頭來看里面的入口文件最后,我們在瀏覽器輸入,就會跳到。到此為止,我們就完成了整個前后端各自開發(fā)到正式部署的流程。 一個完整的網(wǎng)站服務架構(gòu)包括:1、web frame ---這里應用express框架2、web server ---這里應用nodejs3、Database ---這里應用monggoDB4、...
閱讀 3456·2021-09-08 09:36
閱讀 2534·2019-08-30 15:54
閱讀 2345·2019-08-30 15:54
閱讀 1762·2019-08-30 15:44
閱讀 2378·2019-08-26 14:04
閱讀 2437·2019-08-26 14:01
閱讀 2869·2019-08-26 13:58
閱讀 1315·2019-08-26 13:47