7

我正在参加 Colt Steele 的 Web 开发人员训练营,我已经到了要为 YelpCamp 应用程序创建数据库的地步。问题是,他正在使用 MongoDB,而我不想使用它。我想使用 MariaDB。如何让 Node JS 使用它?我已经使用 npm install 将它添加到我的项目中,但我不知道从这里去哪里。我找不到任何专门与 nodejs 和 mariadb 相关的指南。官方指南对初学者不友好。我不知道它甚至说了什么。

我不像他那样通过 Cloud9 工作,因为他们不接受新的注册。我正在使用命令行在我的计算机上运行 node.js,并且一直在关注他的视频。

4

2 回答 2

8

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
    });
于 2018-08-24T07:19:15.450 回答
3

续集

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%
于 2018-12-17T06:14:42.260 回答