node可以使用的数据库有:1、IBM DB2;2、MS SQL Server;3、PostgreSQL;4、MySQL;5、SQLite;6、Oracle;7、Mongo;8、Hive;9、Redis;10、CouchDB等等。
本教程操作环境:windows7系统、nodejs 12.19.0版,DELL G3电脑。
node.js是一个让JavaScript 运行在服务端的开发平台,可用于方便地搭建响应速度快、易于扩展的网络应用。Node使用事件驱动, 非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
node.js支持如下Database:
IBM DB2
MS SQL Server
PostgreSQL
MySQL
SQLite
Oracle
NoSQL and Key/Value
Mongo
Hive
Redis
CouchDB
Other NoSQL implementations
那么怎么选择?
node使用什么作为数据库要看业务场景而决定,主流的数据库都是可以选择的,一般业内使用mysql的多一些。
nodejs + Oracle 坑比较多,但是也是可以做到的。
nodejs + Mysql 用的人最多,毕竟mysql已经很普及了。
nodejs + mongodb 快+快=非常快,适合超快速开发模式。
示例:Node.js 连接 MySQL数据库
1、安装驱动
使用了淘宝定制的 cnpm 命令进行安装:
$ cnpm install mysql
2、连接数据库
在以下实例中根据你的实际配置修改数据库用户名、及密码及数据库名:
test.js 文件代码:
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); });
执行以下命令输出结果为:
$ node test.js The solution is: 2
数据库连接参数说明:
参数 | 描述 |
---|---|
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的配置文件 |
更多node相关知识,请访问:nodejs 教程!
以上是node可以使用哪些数据库的详细内容。更多信息请关注PHP中文网其他相关文章!