Module 基礎模組

模組db

資料庫存取模組

基礎模組。可用於建立和操作資料庫資源,引用方式:

1 2
var db = require('db'); var conn = db.open('rng://user:pass@host:port/dbname');

透過指定資料庫引擎,可以建立不同的資料庫連結。fibjs 內建兩個sql 引擎:sqlite 和mysql,同時也支援透過ODBC/unixODBC 連接更多資料庫,基於ODBC/unixODBC,fibjs 建構了與mssql 和PostgreSQL 的驅動程式。為了使用ODBC/unixODBC,需要安裝對應的驅動,在posix 下使用mssql 需要安裝freetds,使用PostgreSQL 需要安裝psqlodbc。正常情況下驅動安裝成功即可直接使用,無需進一步配置。

靜態函數

open

開啟一個資料庫,此方法為通用入口,根據提供的connString 不同呼叫不同的引擎

1
static object db.open(String connString) async;

呼叫參數:

  • connString: String, 資料庫描述,如:mysql://user:pass@host/db

回傳結果:

  • object, 傳回資料庫連線對象

openMySQL

開啟一個mysql 資料庫

1
static MySQL db.openMySQL(String connString) async;

呼叫參數:

  • connString: String, 資料庫描述,如:mysql://user:pass@host/db

回傳結果:

  • MySQL, 傳回資料庫連線對象

openSQLite

開啟一個sqlite 資料庫

1
static SQLite db.openSQLite(String connString) async;

呼叫參數:

  • connString: String, 資料庫描述,如:sqlite:test.db 或test.db

回傳結果:

  • SQLite, 傳回資料庫連線對象

openOdbc

開啟一個sqlite 資料庫

1
static DbConnection db.openOdbc(String connString) async;

呼叫參數:

  • connString: String, 資料庫描述,如:odbc://user:pass@host/db?driver=PostgreSQL%20ANSI

回傳結果:


openMSSQL

開啟一個mssql 資料庫

1
static DbConnection db.openMSSQL(String connString) async;

呼叫參數:

  • connString: String, 資料庫描述,如:mssql://user:pass@host/db

回傳結果:

為了建立與mssql 的連接,在posix 下必須安裝freetds 的odbc 驅動,也可以透過指定驅動來使用微軟的mssql 驅動,指定驅動的方式,是在url後來增加?driver=msodbcsql17[.so/.dylib] 的選項。


openPSQL

開啟一個PostgresSQL 資料庫

1
static DbConnection db.openPSQL(String connString) async;

呼叫參數:

  • connString: String, 資料庫描述,如:psql://user:pass@host/db

回傳結果:

為了建立與PostgresSQL 的連接,必須安裝PostgresSQL 的odbc 驅動程式。


openLevelDB

打開一個leveldb 資料庫

1
static LevelDB db.openLevelDB(String connString) async;

呼叫參數:

  • connString: String, 資料庫描述,如:level:test.db 或test.db

回傳結果:


openRedis

打開一個Redis資料庫

1
static Redis db.openRedis(String connString) async;

呼叫參數:

  • connString: String, 資料庫描述,如:redis://server:port 或"server"

回傳結果:

  • Redis, 傳回資料庫連線對象