跟我一起用node-express搭建一个小项目(node连接mongodb)[三]
數(shù)據(jù)庫(kù)雖然安裝并啟動(dòng)成功了,但我們需要連接數(shù)據(jù)庫(kù)后才能使用數(shù)據(jù)庫(kù)。
 怎么才能在 Node.js 中使用 MongoDB 呢?
 我們使用官方提供的 node-mongodb-native 驅(qū)動(dòng)模塊,打開(kāi) package.json,
 在 dependencies 中添加一行:"mongodb": "1.4.15"
 接下來(lái)在我的yourapp目錄中創(chuàng)建 settings.js 文件,用于保存該博客工程的配置信息,比如數(shù)據(jù)庫(kù)的連接信息。
 我們將數(shù)據(jù)庫(kù)命名為 blog,因?yàn)閿?shù)據(jù)庫(kù)服務(wù)器在本地,所以 settings.js 文件的內(nèi)容如下:
 module.exports = {
 cookieSecret: 'myblog',
 db: 'blog',
 host: 'localhost',
 port: 27017
 };
 其中 db 是數(shù)據(jù)庫(kù)的名稱,host 是數(shù)據(jù)庫(kù)的地址,port是數(shù)據(jù)庫(kù)的端口號(hào),cookieSecret 用于 Cookie 加密與數(shù)據(jù)庫(kù)無(wú)關(guān);
 接下來(lái)在根目錄下新建 models 文件夾,并在 models 文件夾下新建 db.js:
 添加:
 var settings = require('../settings'),
 Db = require('mongodb').Db,
 Connection = require('mongodb').Connection,
 Server = require('mongodb').Server;
 module.exports = new Db(settings.db, new Server(settings.host, settings.port),
 {safe: true});
 打開(kāi) app.js,在 var routes = require('./routes/index'); 下添加
 var settings = require('./settings');
 express 也提供了會(huì)話中間件,默認(rèn)情況下是把用戶信息存儲(chǔ)在內(nèi)存中,
 但我們既然已經(jīng)有了 MongoDB,不妨把會(huì)話信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,便于持久維護(hù)。
 為了使用這一功能,我們需要借助 express-session 和 connect-mongo 這兩個(gè)第三方中間件,
 在 package.json 中添加:
 "express-session": "1.9.1",
 "connect-mongo": "0.4.1"
 運(yùn)行npm install安裝模塊,打開(kāi)app.js,添加以下代碼
 var session = require('express-session');
 var MongoStore = require('connect-mongo')(session);
app.use(session({
 secret: settings.cookieSecret,
 key: settings.db,//cookie name
 cookie: {maxAge: 1000 * 60 * 60 * 24 * 30},//30 days
 store: new MongoStore({
 db: settings.db,
 host: settings.host,
 port: settings.port
 })
 }));
 我們已經(jīng)準(zhǔn)備好了數(shù)據(jù)庫(kù)訪問(wèn)和會(huì)話的相關(guān)信息,接下來(lái)我們完成用戶注冊(cè)和登錄功能
轉(zhuǎn)載于:https://www.cnblogs.com/smart-girl/p/7412487.html
總結(jié)
以上是生活随笔為你收集整理的跟我一起用node-express搭建一个小项目(node连接mongodb)[三]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 神在夏至祭降下了神谕(oracle)
- 下一篇: 多校第九场总结,树剖
