1.Node.js 連線 MySQL
$ cnpm install mysql
連線mysql:
var mysql = require(`mysql`);
var connection = mysql.createConnection({
host : `localhost`,
user : `root`,
password : `123456`,
database : `test`
});
connection.connect();
connection.query(`SELECT 1 + 1 AS solution`, function (error, results, fields) {
if (error) throw error;
console.log(`The solution is: `, results[0].solution);
});
資料庫連線引數說明
引數 描述
host 主機地址 (預設:localhost)
user 使用者名稱
password 密碼
port 埠號 (預設:3306)
database 資料庫名
charset 連線字符集(預設:`UTF8_GENERAL_CI`,注意字符集的字母都要大寫)
localAddress 此IP用於TCP連線(可選)
socketPath 連線到unix域路徑,當使用 host 和 port 時會被忽略
timezone 時區(預設:`local`)
connectTimeout 連線超時(預設:不限制;單位:毫秒)
stringifyObjects 是否序列化物件
typeCast 是否將列值轉化為本地JavaScript型別值 (預設:true)
queryFormat 自定義query語句格式化方法
supportBigNumbers 資料庫支援bigint或decimal型別列時,需要設此option為true (預設:false)bigNumberStrings supportBigNumbers和bigNumberStrings啟用 強制bigint或decimal列以JavaScript字串型別返回(預設:false)
dateStrings 強制timestamp,datetime,data型別以字串型別返回,而不是JavaScript Date型別(預設:false)
debug 開啟除錯(預設:false)
multipleStatements 是否許一個query中有多個MySQL語句 (預設:false)
flags 用於修改連線標誌
ssl 使用ssl引數(與crypto.createCredenitals引數格式一至)或一個包含ssl配置檔名稱的字串,目前只捆綁Amazon RDS的配置檔案
2.Node.js 連線 MongoDB:
MongoDB是一種文件導向資料庫管理系統,由C++撰寫而成。MongoDB 教程。 安裝驅動
$ cnpm install mongodb
增刪改查
要在 MongoDB 中建立一個資料庫,首先我們需要建立一個 MongoClient 物件,然後配置好指定的 URL 和 埠號。
如果資料庫不存在,MongoDB 將建立資料庫並建立連線。
建立連線
var MongoClient = require(`mongodb`).MongoClient;
var url = "mongodb://localhost:27017/mydb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("資料庫已建立!");
db.close();
});
建立集合
我們可以使用 createCollection() 方法來建立集合: 建立集合
var MongoClient = require(`mongodb`).MongoClient;
var url = `mongodb://localhost:27017/mydb`;
MongoClient.connect(url, function (err, db) {
if (err) throw err;
console.log(`資料庫已建立`);
var dbase = db.db("mydb");
dbase.createCollection(`runoob`, function (err, res) {
if (err) throw err;
console.log("建立集合!");
db.close();
});
});
資料庫操作( CURD )
與 MySQL 不同的是 MongoDB 會自動建立資料庫和集合,所以使用前我們不需要手動去建立。 插入資料 以下例項我們連線資料庫
runoob 的 site 表,並插入兩條資料:
插入資料
var MongoClient = require(`mongodb`).MongoClient;
var DB_CONN_STR = `mongodb://localhost:27017/runoob`; # 資料庫為 runoob
var insertData = function(db, callback) {
//連線到表 site
var collection = db.collection(`site`);
//插入資料
var data = [{"name":"菜鳥教程","url":"www.runoob.com"},{"name":"菜鳥工具","url":"c.runoob.com"}];
collection.insert(data, function(err, result) {
if(err)
{
console.log(`Error:`+ err);
return;
}
callback(result);
});
}
MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("連線成功!");
insertData(db, function(result) {
console.log(result);
db.close();
});
});
執行以下命令輸出就結果為:
$ node test.js //連線成功!
{ result: { ok: 1, n: 2 },
ops:
[ { name: `菜鳥教程`,
url: `www.runoob.com`,
_id: 58c25e13a08de70d3b9d4116 },
{ name: `菜鳥工具`,
url: `c.runoob.com`,
_id: 58c25e13a08de70d3b9d4117 } ],
insertedCount: 2,
insertedIds: [58c25e13a08de70d3b9d4116, 58c25e13a08de70d3b9d4117]
}
從輸出結果來看,資料已插入成功。
我們也可以開啟 MongoDB 的客戶端檢視資料,如:
show dbs
admin 0.000GB
local 0.000GB
runoob 0.000GB # 自動建立了 runoob 資料庫
show tables
site # 自動建立了 site 集合(資料表)
db.site.find() # 檢視集合中的資料
{ "_id" : ObjectId("58c25f300cd56e0d7ddfc0c8"), "name" : "菜鳥教程", "url" : "www.runoob.com" }
{ "_id" : ObjectId("58c25f300cd56e0d7ddfc0c9"), "name" : "菜鳥工具", "url" : "c.runoob.com" }
查詢資料
以下例項檢索 name 為 “菜鳥教程” 的例項:
var MongoClient = require(`mongodb`).MongoClient;
var DB_CONN_STR = `mongodb://localhost:27017/runoob`;
var selectData = function(db, callback) {
//連線到表
var collection = db.collection(`site`);
//查詢資料
var whereStr = {"name":`菜鳥教程`};
collection.find(whereStr).toArray(function(err, result) {
if(err)
{
console.log(`Error:`+ err);
return;
}
callback(result);
});
}
MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("連線成功!");
selectData(db, function(result) {
console.log(result);
db.close();
});
});
執行以下命令輸出就結果為:
連線成功!
[ { _id: 58c25f300cd56e0d7ddfc0c8,
name: `菜鳥教程`,
url: `www.runoob.com` } ]
更新資料
我們也可以對資料庫的資料進行修改,以下例項將 name 為 “菜鳥教程” 的 url 改為 https://www.runoob.com:
var MongoClient = require(`mongodb`).MongoClient;
var DB_CONN_STR = `mongodb://localhost:27017/runoob`;
var updateData = function(db, callback) {
//連線到表
var collection = db.collection(`site`);
//更新資料
var whereStr = {"name":`菜鳥教程`};
var updateStr = {$set: { "url" : "https://www.runoob.com" }};
collection.update(whereStr,updateStr, function(err, result) {
if(err)
{
console.log(`Error:`+ err);
return;
}
callback(result);
});
}
MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("連線成功!");
updateData(db, function(result) {
console.log(result);
db.close();
});
});
執行成功後,進入 mongo 管理工具檢視資料已修改:
db.site.find()
{ "_id" : ObjectId("58c25f300cd56e0d7ddfc0c8"), "name" : "菜鳥教程", "url" : "https://www.runoob.com" }
{ "_id" : ObjectId("58c25f300cd56e0d7ddfc0c9"), "name" : "菜鳥工具", "url" : "c.runoob.com" }
刪除資料
以下例項將 name 為 “菜鳥工具” 的資料刪除 :
var MongoClient = require(`mongodb`).MongoClient;
var DB_CONN_STR = `mongodb://localhost:27017/runoob`;
var delData = function(db, callback) {
//連線到表
var collection = db.collection(`site`);
//刪除資料
var whereStr = {"name":`菜鳥工具`};
collection.remove(whereStr, function(err, result) {
if(err)
{
console.log(`Error:`+ err);
return;
}
callback(result);
});
}
MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("連線成功!");
delData(db, function(result) {
console.log(result);
db.close();
});
});
執行成功後,進入 mongo 管理工具檢視資料已刪除:
db.site.find()
{ "_id" : ObjectId("58c25f300cd56e0d7ddfc0c8"), "name" : "菜鳥教程", "url" : "https://www.runoob.com" }