資料庫 DataBase
npm install mysql
建立資料庫連線
一旦裝好mysql模組之後,就可以使用createConnection()建立一個新連線,並設定資料庫主機位置、帳號、密碼。最後再以connect()方法開始進行連線。
範例
var mysql = require('mysql');
//建立連線,並設定主機位置、帳號、密碼
var connection = mysql.createConnection( {
host: 'localhost',
user: 'fred',
password: 'fred1234'
});
//開始連線
connection.connect(function(err) {
if (err)
throw err;
//印出連線成功訊息
console.log('Connection');
//關閉連線
coonection.end();
});
查詢資料
MySQL支援了SQL的表達式,我們可以直接下達SQL語法進行資料查詢。
var mysql = require('mysql');
//建立連線,並設定主機位置、帳號、密碼
var connection = mysql.createConnection( {
host: 'localhost',
user: 'fred',
password: 'fred1234'
});
//開始連線
connection.connect(function(err) {
if (err)
throw err;
var sql = 'Select * from myTable';
connection.query(sql, function(err, rows) {
if (err)
throw err;
//印出查詢結果
console.log(rows);
//關閉連線
connectuin.end();
});
});
帶入條件查詢
var mysql = require('mysql');
//建立連線,並設定主機位置、帳號、密碼
var connection = mysql.createConnection( {
host: 'localhost',
user: 'fred',
password: 'fred1234'
});
//開始連線
connection.connect(function(err) {
if (err)
throw err;
var sql = 'select * from myTable where name=? and age=?';
var params = ['Fred', 29];
connection.query(sql, params, function(err, rows) {
if (err)
throw err;
console.log(rows);
connection.end();
});
});
MongoDB
MongoDB是由10gen團隊在2007年10月所發展,2009年2月首度推出。表面上,MongoDB是用JavaScript開發者最孰悉的JSON格式儲存資料,對JavaScript的使用者來說,操作上和使用概念都相當易懂。
嚴格說,MongoDB內部是用BSON的格式儲存資料,將JSON資料轉成Binnary的形式處理,所以BSON即為Binary JSON的意思。這樣做可以加速內部資料處裡效能,也能更易於管理記憶體和硬碟空間的使用。
安裝MongoDB驅動程式
npm install mongodb
建立連線
var mongodb = require('mongodb');
var MongoClient = mongodb.MongoClient;
//連接MongoDB
MongoClient.connect=('mongodb://localhost/test', function(err, db) {
//選擇資料表 contact
db.collection('contact', function(err, collection) {
//取得 contact資料表所有資料
collection.find({}, function(err, rows) {
//印出 contact資料表裡所有的資料
for (var index in rows)
console.log(rows[index]);
});
});
});
而URI的格式如下,我們亦可以設定MongoDB的帳號及密碼,以及指定port的號碼:
語法如下:
mongodb://[username]:[password]@[host]:[port]/[database]
插入新資料
collection.insert(docs[, options], callback)
collection.insert({
name: 'Fred',
tel: '0912345XXX',
address: 'Taipei'
}, function(err, docs) {
if (err) {
throw err;
return;
}
console.log('Insert data sucess');
});
⬆目前測試有問題:
問題是:沒有test的資料庫,也沒有contact的資料表,執行connect、insert 不會出現錯誤。