文章目录
  1. 1. 将数据写入文件
  2. 2. 从文件读取数据
  3. 3. 环境变量
  4. 4. 使用数据库
    1. 4.1. NoSQL数据库
    2. 4.2. 在Node.js中使用MongoDB
      1. 4.2.1. 安装MongiDB
      2. 4.2.2. 连接MongoDB
    3. 4.3. 定义文档
    4. 4.4. 将Twitter Bootstrap包含进来

数据持久化的方法有:

  • 保存在硬盘或闪存上
  • 保存在计算机内存中
  • 保存在数据库中
  • 保存在cookie或会话中

将数据写入文件

1
2
3
4
5
6
7
8
9
10
// weite.js
var fs = require('fs'),
data = "Some data I want to write to a file.";
fs.writeFile('file.txt',data,function(err){
if (!err) {
console.log("Wrote data to file.txt.");
} else {
throw err;
}
});

注意:

  1. 如果文件不存在,writeFile方法也创建文件
  2. 文件默认写入脚本运行位置,也可以指定完整路径
  3. 可能的错误包括文件不存在或者没有读取文件的权限

从文件读取数据

1
2
3
4
5
6
7
8
9
// read.js
var fs = require('fs');
fs.readFile('file.txt','utf8',function(err,data){
if (!err) {
console.log(data);
}else{
throw err;
}
});

环境变量

设置环境变量
windows:

1
SET SOMETHING='12345678'

UNIX:

1
var something = process.env.SOMETHING

可以再node中访问process.env.SOMETHING

使用数据库

NoSQL数据库

  • Cassandra
  • Redis
  • Memcached
  • MongoDB
  • Hadoop

在Node.js中使用MongoDB

MongoDB是面向文档的数据库,它不遵照将关系数据连接在一起的关系模型,它可执行关系数据库的大多数功能并且旨在提供高度的可用性和可扩展性。
CRUD指Create、Read、Update、Delete

安装MongiDB

可以到MongoDB官网获得对应平台的安装文件。
MongoDB有很多GUI支持,OSX可以使用MongoHub;Windows,可以使用Monogo VUE,它是功能受限的免费版,同事需要.NET Framework支持;Linux上可以使用JMongoBrowser,它是基于Java客户端,需要Java运行环境。

连接MongoDB

Mongoose是Node.js中一个功能齐备的第三方模块,用于处理MongoDB。将Mongoose模块加入到项目中,并在package.json文件中将其作为依赖模块包含进来:

1
2
3
4
5
6
7
{
"name":"your-application",
"version":"0.0.1",
"dependcies":{
"mongoose":">= 2.3.1"
}
}

运行npm install
并在应用程序文件中请求它var mongoose = require('mongoose');
之后连接并使用它mongoose.connect('mongodb://localhost/your_database');.

定义文档

MongoDB中,没有关系数据库中表的概念,M哦你goDB围绕着文档的思想来组织数据。
通过Mongoose模块在MongoDB中定义一个文档:通过Mongoose提供的Schema接口定义,然后声明属性。Mongoose可声明的类型如下:

  • String(字符串)
  • Number(数值)
  • Date(日期)
  • Boolean(布尔值)
  • Buffer(缓存)
  • ObjectID(对象ID)
  • Mixed(混合)
  • Array(数组)
    对于task模型而言,只需要一个属性
    1
    2
    3
    4
    5
    6
    var Schema = mongoose.Schema,
    ObjectId = Shema.ObjectId;
    var Task = new Schema({
    task:String
    });
    var Task = mongoose.model('Task',Task);

将Twitter Bootstrap包含进来

views/layout.jade包含如下内容

1
2
3
4
5
6
html 
head
title=title
link(rel='stylesheet',href='http://twitter.github.com/bootstrap/1.4.0/bootstrap.min.css')
body
section.container!=body

文章目录
  1. 1. 将数据写入文件
  2. 2. 从文件读取数据
  3. 3. 环境变量
  4. 4. 使用数据库
    1. 4.1. NoSQL数据库
    2. 4.2. 在Node.js中使用MongoDB
      1. 4.2.1. 安装MongiDB
      2. 4.2.2. 连接MongoDB
    3. 4.3. 定义文档
    4. 4.4. 将Twitter Bootstrap包含进来