我正在做Colt Steele的The Web Developer Bootcamp,我已经到了要为YelpCamp应用程序启动数据库的地步。 问题是,他正在使用MongoDB,而我不想使用它。我想使用 MariaDB。如何让 Node JS 使用它?我已经使用 npm install 将其添加到我的项目中,但我不知道从这里开始。我找不到任何专门与nodejs和mariadb相关的指南。官方指南对初学者不友好。我不知道其中很多甚至说了什么。
我不像他那样在Cloud9上工作,因为他们不接受新的注册。我正在使用命令行在我的计算机上运行node.js,并且一直在以这种方式关注他的视频。
https://github.com/MariaDB/mariadb-connector-nodejs
安装: npm i mariadb
const mariadb = require('mariadb');
const pool = mariadb.createPool({host: 'mydb.com', user: 'myUser', connectionLimit: 5});
pool.getConnection()
.then(conn => {
conn.query("SELECT 1 as val")
.then((rows) => {
console.log(rows); //[ {val: 1}, meta: ... ]
return conn.query("INSERT INTO myTable value (?, ?)", [1, "mariadb"]);
})
.then((res) => {
console.log(res); // { affectedRows: 1, insertId: 1, warningStatus: 0 }
conn.end();
})
.catch(err => {
//handle error
conn.end();
})
}).catch(err => {
//not connected
});
续集
npm install --save sequelize@next
npm install --save mariadb
然后设置dialect: 'mariadb'
mariadb 连接器比 MySQL2 快得多。 我立即注意到平台上的速度差异。
https://github.com/MariaDB/mariadb-connector-nodejs
MariaDB 提供了将连接器与流行的 Node.js MySQL 客户端进行比较的基准测试,包括:
promise-mysql 版本 3.3.1 + mysql 版本 2.15.0 MySQL2 版本 1.5.3
promise-mysql : 1,366 ops/sec ±1.42%
mysql2 : 1,469 ops/sec ±1.63%
mariadb : 1,802 ops/sec ±1.19%