Table of Contents generated with DocToc
有这么好的简明教程,自然不会再去重复造轮子:
在安装好MongoDB之后,进行一系列配置:
// 将下载的MongoDB文件夹放在目录/Users/ecmadao/MongoDB/下,并取名为MongoDB
// 新建一个文件夹以储存数据库
$ mkdir /Users/ecmadao/MongoDB/TodoApp$ cd /Users/ecmadao/MongoDB/MongoDB/bin[mongodb 的 bin 目录]
// 将TodoApp文件夹作为工程的储存目录并启动数据库
$ ./mongod --dbpath /Users/ecmadao/MongoDB/TodoApp$ cd [项目文件夹]
// 安装MongoDB
$ sudo npm install mongodb --save
// 安装会话支持
$ sudo npm install express-session --save
// 安装MongoDB连接工具
$ sudo npm install connect-mongo --save
// 安装session中信息存储工具
$sudo npm install connect-flash- 在项目根目录下新建 setting.js
module.exports = {
cookieSecret: 'todoApp', // cookie加密
db: 'TodoApp', // 数据库名称()
host: 'localhost', // 数据库地址
port: 27017 // 数据库端口
}; - 建立 models
// 在项目根目录下新加 models文件夹
$ mkdir 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});通过 new Db(settings.db, new Server(settings.host, settings.port), {safe: true}); 设置数据库名、数据库地址和数据库端口创建了一个数据库连接实例,并通过 module.exports 导出该实例
- 配置 app.js
// 在app.js中
var setting = require('./setting');
var session = require('express-session');
var MongoStore = require('connect-mongo')(session);
var flash = require('connect-flash');
app.use(session({
secret: settings.cookieSecret, // 防止篡改cookie
key: settings.db, // cookie name
cookie: {maxAge: 1000 * 60 * 60 * 24 * 30}, // 30 days
resave: true,
saveUninitialized: true,
store: new MongoStore({ // store为MongoDB实例
url: 'mongodb://localhost/TodoApp',
db: settings.db,
host: settings.host,
port: settings.port
})
}));
app.use(flash());$ cd /Users/ecmadao/MongoDB/mongoDB/bin
$ ./mongo
// 之后会展示MongoDB的Version和当前connect,一般会默认connect到test
> use TodoApp // 转到TodoApp的数据库