Подключение баз данных к Express-приложению обычно сводится к загрузке подходящего Node.js-драйвера нужной СУБД. В этом документе кратко показано, как добавить и использовать некоторые популярные Node.js-модули для работы с базами данных в Express.
Это лишь часть доступных драйверов баз данных. Другие варианты ищите на npm.
constcassandra=require('cassandra-driver');constclient=newcassandra.Client({contactPoints:['localhost'],});client.execute('select key from system.local',(err,result)=>{if(err)throwerr;console.log(result.rows[0]);});
constcouchbase=require('couchbase');constbucket=newcouchbase.Cluster('http://localhost:8091').openBucket('bucketName');// add a document to a bucketbucket.insert('document-key',{name:'Matt',shoeSize:13},(err,result)=>{if(err){console.log(err);}else{console.log(result);}});// get all documents with shoe size 13constn1ql='SELECT d.* FROM `bucketName` d WHERE shoeSize = $1';constquery=N1qlQuery.fromString(n1ql);bucket.query(query,[13],(err,result)=>{if(err){console.log(err);}else{console.log(result);}});
constnano=require('nano')('http://localhost:5984');nano.db.create('books');constbooks=nano.db.use('books');// Insert a book document in the books databasebooks.insert({name:'The Art of war'},null,(err,body)=>{if(err){console.log(err);}else{console.log(body);}});// Get a list of all booksbooks.list((err,body)=>{if(err){console.log(err);}else{console.log(body.rows);}});
constmysql=require('mysql');constconnection=mysql.createConnection({host:'localhost',user:'dbuser',password:'s3kreee7',database:'my_db',});connection.connect();connection.query('SELECT 1 + 1 AS solution',(err,rows,fields)=>{if(err)throwerr;console.log('The solution is: ',rows[0].solution);});connection.end();
constoracledb=require('oracledb');constconfig={user:'<your db user>',password:'<your db password>',connectString:'localhost:1521/orcl',};asyncfunctiongetEmployee(empId){letconn;try{conn=awaitoracledb.getConnection(config);constresult=awaitconn.execute('select * from employees where employee_id = :id',[empId]);console.log(result.rows[0]);}catch(err){console.log('Ouch!',err);}finally{if(conn){// conn assignment worked, need to closeawaitconn.close();}}}getEmployee(101);
constsqlite3=require('sqlite3').verbose();constdb=newsqlite3.Database(':memory:');db.serialize(()=>{db.run('CREATE TABLE lorem (info TEXT)');conststmt=db.prepare('INSERT INTO lorem VALUES (?)');for(leti=0;i<10;i++){stmt.run(`Ipsum ${i}`);}stmt.finalize();db.each('SELECT rowid AS id, info FROM lorem',(err,row)=>{console.log(`${row.id}: ${row.info}`);});});db.close();