与其他Web服务器类似,Node需要通过存储来进行数据持久化,离开了持久化,网站就只是一个宣传性质的静态站点, 也就没有必要使用Node了
Node与NoSQL数据库结合起来使用非常方便
CouchDB是Apache公司出品的一款NoSQL数据库,它专为Web而生,面向文档,可以通过 RESTful JavaScript Object Notation (JSON) API 访问
官网下载:https://couchdb.apache.org
按步骤安装,然后再浏览器输入 http://localhost:5984/_utils/ 即可查看到当前数据库
var client = http.createClient(5984,"127.0.0.1");
MongoDB 是一个开源的非关系型数据库,相比关系型数据库,更为轻巧、灵活,高性能
MongoDB是一个文档数据库,一个记录就是一个文档(文档其实就是一个对象字面量,由属性(字段)和值组成,属性的值可能是任何值,甚至是一个新的文档)
{
name:"strong",
age:25,
job:"front-end",
groups:["suning","tuniu"]
}
**注:每个文档以唯一的 _id属性标示**
注:MongoDB的数据格式是BSON,是JSON的一个扩展
最好安装在根目录,路径简单(路径是不能包含空格的)
然后,在需要的位置(例如,D盘根目录),新建文件夹,命名为data(任何简洁的名字都可),用于存放项目所用的数据内容
在bin目录下,运行
mongod --dbpath d:\data
这样就是设置data文件夹为数据的存储目录,并启动数据库
为方便操作,可在桌面建立 startMongodb.dat文件,并写入
d:\mongodb\bin\mongod.exe -dbpath d:\data (路径根据实际情况来)
这样以后就可以直接启动数据库了
安装并配置成功后,需要连接数据库后才能使用
首先在package.json中添加mongodb依赖 “mongodb”:”*”,然后 npm install 更新依赖
然后在项目根目录下创建settings.js,保存项目的配置信息
module.exports = {
cookieSecret: 'mycode', //cookie加密
db: 'blog', //数据库名称
host: 'localhost' //数据库地址
};
然后在项目根目录下创建data文件夹,并在内部新建db.js
var settings = require('../settings');
var Db = require('mongodb').Db;
var Connection = require('mongodb').Connection;
var Server = require('mongodb').Server;
module.exports = new Db(settings.db, new Server(settings.host, Connection.DEFAULT_PORT), {safe: true});
设置数据库名、地址和端口创建了一个数据库连接实例,并通过module.exports 导出该实例。可以通过 require 这个文件来对数据库进行读写了