亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

node.js(express)連接mongoDB入門指導

2024-04-27 15:07:08
字體:
來源:轉載
供稿:網友

轉自node.js(exPRess)連接mongoDB入門指導 一、寫在前面

人人都想成為全棧碼農,作為一個web前端開發人員,通往全棧的簡潔之路,貌似就是node.js了。前段時間學習了node.js,來談談新手如何快速的搭建自己的web服務,開啟全棧之路。

二、安裝node.js

接觸過后端開發的人都知道,首先要安裝服務。作為新手,肯定是選擇最簡單的可視化安裝了(傻瓜式下一步,其它的方式等熟悉相關操作后自然就會了的),通過官網http://nodejs.org/dist/v0.6.1/node-v0.6.1.msi 下載電腦適配的安裝包(這個是windows的,買不起mac?。?,然后根據引導安裝就可以了,默認安裝在C:/Program Files/nodejs文件下,并將該目錄添加進PATH環境變量。具體做法,右擊”我的電腦“-”屬性“-“系統高級”-”高級“-”環境變量“-選擇“變量名:PATH”;“改變量值:在最后面添加【C:/Program Files/nodejs】(根據自己的安裝目錄而定)”。打開cmd直接運行命令:

node -v 可以輸出當前版本號。node文件里已經集成了npm,之后使用npm install XXX 來安裝需要的插件或者模塊。

三、使用express框架

忙活了一陣,終于可用npm命令進行初始化、安裝express框架,然后寫個hello world 爽一下了。為什么要選擇express框架了,當然有它的特別之處,對新手來說最怕的就是麻煩還容易出錯。express當然為我們考慮到了,所以提供了快速生成器:express-generator

1、通過命令:npm install express-generator -g 安裝到全局

2、在用express 命令生成項目結構

express myapp 其中的myapp是你的項目名稱

3、通過cd myapp 進入項目文件中

通過npm install 初始化依賴模塊

通過set DEBUG=myapp & npm start 啟動web服務器

4、在瀏覽器中打開 http://localhost:3000/ 網址就可以看到這個應用了。

默認情況下用的模版引擎是jade,項目里也已經配置好了這個模版,看看jade的使用語法,https://segmentfault.com/a/1190000000357534 這個的文檔不錯。express官方網站http://www.expressjs.com.cn/

四、介紹express 生成器的項目

1、myapp項目的機構如下: 這里寫圖片描述 2、package.json 這個可以說是模塊管理包,項目信息和模塊的版本號,其實你會發現在項目模塊初始化的時候就是由這里的配置去查找生成的。

3、app.js 是項目的啟動文件,可以說是項目的核心。主要寫一些公共的功能。

4、bin 文件下有個無后綴的www文件,這是項目的入口文件,配置web服務端口和一些監聽事件。

5、node_modules是項目的依賴的的文件模塊,之后導入的包也會被放在其中,比如連接數據庫的mongoose模塊,后面會詳細講。

6、public 是項目的靜態資源文件集,很容易看出圖片、CSS文件、js文件都放在這里。

7、routes 是項目的路由模塊,其中已經默認了index.js和user.js文件。在這里其實也包括一般后臺語言中的控制器內容,當然在大的項目上是可以分離開來的。

8、views是項目的模版文件,是jade模版引擎,這個模版很簡潔,但是坑也比較多,比如對空格的要求都非常嚴格,多一個少一個空格都會報錯的,曾經踩過很多坑,其實它的性能也不是很高還不如用ejs呢。

五、安裝mongoDB

1、同樣在官網(http://www.mongodb.org/downloads)上直接下載msi文件

2、簡單的下一步進行安裝,有默認的就讓其默認,有選擇的就全選了

3、然后配置環境變量,和node的一樣不再累述

4、接下來是啟動mongoDB服務

5、通過命令:mongod –dbpath f:/MongoDB/data 其中 f:/MongoDB/data是文件存放路徑,看到如下信息說明成功了

6、MongoDB監聽的是27017端口,同時打開瀏覽器輸入http://127.0.0.1:27017,則會看到如下提示:

  It looks like you are trying to access MongoDB over HTTP on the native driver port.

7、然后,再打開一個cmd,輸入mongo命令鏈接數據庫,出現如下提示:

  2015-05-02T17:10:19.467+0800 I CONTROL Hotfix KB2731284 or later update is not installed, will zero-out data files MongoDB shell version: 3.0.2 connecting to: test

8、這樣windows環境下的monogDB就安裝成功了。

補充:

9、如果你嫌每次用命令打開服務麻煩的話,可以寫成批處理文件,就是新建一個后綴.bat的文件,寫上如下代碼:

  start mongod –dbpath F:/MongoDB/data

10、當然了,你也可以將MongoDB以服務的方式啟動,不過我覺得在學習的過程中用處不大,小伙伴們可以自己嘗試一下,如果有需要的話,我在后面會補上。

11、要是覺得命令行不好用,推薦一個帶圖形化界面的軟件:MongoVUE,就和navicat差不多,它有免費版的,就是功能少點,但學習過程中完全足夠了   傳送門:http://www.mongovue.com/

可參考安裝https://segmentfault.com/a/1190000002744306、語法http://www.cnblogs.com/xusir/archive/2012/12/24/2830957.html

六、在node項目中使用monogDB

1、導入monogDB連接模塊,express 官方介紹的是mongoskin模塊,這個我就不說了,這里介紹通過mongoose安裝

2、在myapp項目下執行命令 npm install mongoose -save 安裝保存到node_modules,也可以在package.json中配置”mongoose”: “^4.4.12”,然后命令npm install 安裝。https://github.com/Automattic/mongoose

3、在app.js文件中

 a、導入mongoose模塊:  

var mongoose = require('mongoose');

b、創建數據庫連接

mongoose.connect('mongodb://localhost/myDB') //連接本地數據庫

4、在項目根目錄下新建文件夾schemas,這個是數據集模塊,在模塊下新建users.js文件

var mongoose = require('mongoose');//申明一個mongoons對象var Usersschema = new mongoose.Schema({ name: String, paw: String, meta: { createAt: { type: Date, default: Date.now() }, updateAt: { type: Date, default: Date.now() } }})//每次執行都會調用,時間更新操作UsersSchema.pre('save', function(next) { if(this.isNew) { this.meta.createAt = this.meta.updateAt = Date.now(); }else { this.meta.updateAt = Date.now(); } next();})//查詢的靜態方法UsersSchema.statics = { fetch: function(cb) { //查詢所有數據 return this .find() .sort('meta.updateAt') //排序 .exec(cb) //回調 }, findById: function(id, cb) { //根據id查詢單條數據 return this .findOne({_id: id}) .exec(cb) }}//暴露出去的方法module.exports = UsersSchema

5、在根目錄新增modules文件,這個是數據模型模塊,在模塊下新增users.js文件

var mongoose = require('mongoose') var UsersSchema = require('../schemas/users') //拿到導出的數據集模塊 var Users = mongoose.model('Users', UsersSchema) // 編譯生成Movie 模型 module.exports = Users

6、在routes文件中的users.js文件中添加路由控制器代碼

var express = require('express');var mongoose = require('mongoose');//導入mongoose模塊var Users = require('../models/users');//導入模型數據模塊var router = express.Router();/* GET users listing. */router.get('/', function(req, res, next) { res.send('respond with a resource');});//查詢所有用戶數據router.get('/users', function(req, res, next) { Users.fetch(function(err, users) { if(err) { console.log(err); } res.render('users',{title: '用戶列表', users: users}) //這里也可以json的格式直接返回數據res.json({data: users}); })})module.exports = router;

7、在views文件下新增users.jade

extends layoutblock content h1= title //jade取值方式 ul each user in users //jade模版的遍歷方式 li h4 #{user.name} span #{user.paw}

8、最后在瀏覽器中打開網址:http://localhost:3000/users/users,查看效果。到這里一個從數據庫到前端展現的項目就完成了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩高清区| 精品中文字幕在线观看| 欧美黄色片在线观看| 欧美成人h版在线观看| 亚洲小视频在线观看| 久99久在线视频| 亚洲精品美女久久久久| 精品美女国产在线| www.久久撸.com| 国产美女精彩久久| 日韩精品在线私人| 亚洲老板91色精品久久| 久久精品国产亚洲一区二区| 91沈先生在线观看| 欧美成人黑人xx视频免费观看| 日韩日本欧美亚洲| 亚洲激情视频在线观看| 川上优av一区二区线观看| 亚洲视频在线免费看| 日韩电影在线观看免费| www.国产一区| 欧美专区中文字幕| 久久久视频精品| 超碰精品一区二区三区乱码| 日韩欧美在线免费观看| 国产精品成人va在线观看| 中文字幕亚洲欧美| 91久久夜色精品国产网站| 国产日韩欧美电影在线观看| 成人福利网站在线观看| 国产成人亚洲综合91精品| 蜜臀久久99精品久久久久久宅男| 欧美国产中文字幕| 日韩av黄色在线观看| 国产精品444| 91人成网站www| 欧美剧在线观看| 欧美自拍视频在线| 日韩av在线一区二区| 黄色成人av网| 久久精品电影网| 欧美高清无遮挡| 欧洲日本亚洲国产区| 欧美午夜精品久久久久久浪潮| 国产成人精品免费视频| 国产精品爱啪在线线免费观看| 日韩精品在线观| 国产91精品视频在线观看| 国产一级揄自揄精品视频| 久久久久久久久网站| 国产精品视频中文字幕91| 亚洲电影av在线| 久久久久久有精品国产| 日韩美女写真福利在线观看| 日韩精品一区二区视频| 久久精品久久久久| 4k岛国日韩精品**专区| 性欧美视频videos6一9| 亚洲成人中文字幕| 欧美日韩一区二区精品| 韩国精品久久久999| 国产a级全部精品| 国产午夜精品美女视频明星a级| www.午夜精品| 色婷婷亚洲mv天堂mv在影片| 国产在线高清精品| 亚洲日本欧美日韩高观看| 日韩美女在线观看一区| 日韩电影网在线| 久久不射电影网| 久久国产精品久久久| 国产精品三级久久久久久电影| 国产精品嫩草影院久久久| 大量国产精品视频| 久久久久久噜噜噜久久久精品| 欧美激情精品久久久久久大尺度| 98精品国产自产在线观看| 亚洲第一网站免费视频| 亚洲成人av片在线观看| 国模吧一区二区| 国产日韩欧美中文在线播放| 亚洲免费视频在线观看| 欧美亚洲一级片| 国产啪精品视频网站| 久久久噜噜噜久久| 国产精品高清在线| 欧美一级电影在线| 精品国偷自产在线视频| 亚洲图片在区色| 97视频免费在线看| 欧美亚洲另类制服自拍| 夜夜狂射影院欧美极品| 日韩av男人的天堂| 国产精品国产亚洲伊人久久| 一本色道久久88综合日韩精品| 日韩欧美在线免费观看| 亚洲欧洲美洲在线综合| 久久艹在线视频| 美日韩精品免费视频| 欧美刺激性大交免费视频| 国产一区二区色| 91免费欧美精品| 久久亚洲国产成人| 亚洲人高潮女人毛茸茸| 亚洲mm色国产网站| 91久久精品久久国产性色也91| 免费av一区二区| 日韩在线视频免费观看高清中文| 国产综合在线看| 青青草成人在线| 久久久91精品国产| 久久精品国产亚洲| 亚洲精品456在线播放狼人| 91夜夜未满十八勿入爽爽影院| 91色视频在线导航| 国产精品久久久久久久久借妻| 91国偷自产一区二区三区的观看方式| 欧美大秀在线观看| 欧美第一淫aaasss性| 国产精品中文字幕在线观看| 中文字幕不卡av| 亚洲大尺度美女在线| 亚洲免费小视频| 日韩中文字幕国产精品| 92国产精品视频| 亚洲精品欧美日韩| 欧美在线视频观看免费网站| 欧美视频中文字幕在线| 国产精品夜色7777狼人| 国产97色在线| 国产日韩欧美综合| 欧美黑人xxxⅹ高潮交| 久久亚洲影音av资源网| 国产精品老女人视频| 这里只有精品在线播放| 欧美另类在线观看| 日韩欧美亚洲综合| 亚洲国产99精品国自产| 久久久久久综合网天天| 欧美色图在线视频| 中文字幕日韩在线视频| 91久久夜色精品国产网站| 精品在线小视频| 国产精品免费在线免费| 国产精品久久久久久婷婷天堂| 亚洲日本aⅴ片在线观看香蕉| 日韩精品中文字幕有码专区| 日韩中文字幕亚洲| 57pao国产成人免费| 午夜精品国产精品大乳美女| 日韩精品久久久久| 国产精品久久97| 精品国产31久久久久久| 成人黄色大片在线免费观看| 日韩精品久久久久久久玫瑰园| 欧美乱妇40p| 久久久久久这里只有精品| 成人av色在线观看| 欧美日韩裸体免费视频| 91精品国产91久久久久久最新| 自拍偷拍亚洲欧美| 欧美性猛交xxxxx免费看| 亚洲电影在线看| 国产午夜精品美女视频明星a级|