Я прохожу Colt Steele's 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.info(rows); //[ {val: 1}, meta: ... ]
return conn.query("INSERT INTO myTable value (?, ?)", [1, "mariadb"]);
})
.then((res) => {
console.info(res); // { affectedRows: 1, insertId: 1, warningStatus: 0 }
conn.end();
})
.catch(err => {
//handle error
conn.end();
})
}).catch(err => {
//not connected
});
Просто добавьте database: 'your_database' в вызов createConnection. Вы можете найти все варианты здесь: mariadb.com/kb/en/library/nodejs-connection-options
Продолжить
npm install --save sequelize@next
npm install --save mariadb
Затем установите dialect: 'mariadb'
Коннектор mariadb намного быстрее MySQL2. Я сразу заметил разницу в скорости на своей платформе.
https://github.com/MariaDB/mariadb-connector-nodejs
MariaDB предоставляет тесты, сравнивающие Connector с популярными клиентами MySQL Node.js, в том числе:
обещание-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%
Как вы выбираете базу данных в вашем примере?