跟我一起用node-express搭建一个小项目(node连接mongodb)[三]
數據庫雖然安裝并啟動成功了,但我們需要連接數據庫后才能使用數據庫。
怎么才能在 Node.js 中使用 MongoDB 呢?
我們使用官方提供的 node-mongodb-native 驅動模塊,打開 package.json,
在 dependencies 中添加一行:"mongodb": "1.4.15"
接下來在我的yourapp目錄中創建 settings.js 文件,用于保存該博客工程的配置信息,比如數據庫的連接信息。
我們將數據庫命名為 blog,因為數據庫服務器在本地,所以 settings.js 文件的內容如下:
module.exports = {
cookieSecret: 'myblog',
db: 'blog',
host: 'localhost',
port: 27017
};
其中 db 是數據庫的名稱,host 是數據庫的地址,port是數據庫的端口號,cookieSecret 用于 Cookie 加密與數據庫無關;
接下來在根目錄下新建 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});
打開 app.js,在 var routes = require('./routes/index'); 下添加
var settings = require('./settings');
express 也提供了會話中間件,默認情況下是把用戶信息存儲在內存中,
但我們既然已經有了 MongoDB,不妨把會話信息存儲在數據庫中,便于持久維護。
為了使用這一功能,我們需要借助 express-session 和 connect-mongo 這兩個第三方中間件,
在 package.json 中添加:
"express-session": "1.9.1",
"connect-mongo": "0.4.1"
運行npm install安裝模塊,打開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
})
}));
我們已經準備好了數據庫訪問和會話的相關信息,接下來我們完成用戶注冊和登錄功能
轉載于:https://www.cnblogs.com/smart-girl/p/7412487.html
總結
以上是生活随笔為你收集整理的跟我一起用node-express搭建一个小项目(node连接mongodb)[三]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 神在夏至祭降下了神谕(oracle)
- 下一篇: 多校第九场总结,树剖