Для того чтобы добавить функциональную возможность подключения базы данных к приложению Express, необходимо всего лишь загрузить в ваше приложение драйвер Node.js для соответствующей базы данных. В настоящем документе кратко описан способ добавления и использования в приложении Express некоторых наиболее популярных моделей Node.js для систем баз данных.
Это неполный список доступных драйверов баз данных. С другими вариантами можно ознакомиться на сайте npm.
varcassandra=require('cassandra-driver');varclient=newcassandra.Client({contactPoints:['localhost'],});client.execute('select key from system.local',function(err,result){if(err)throwerr;console.log(result.rows[0]);});
varnano=require('nano')('http://localhost:5984');nano.db.create('books');varbooks=nano.db.use('books');//Insert a book document in the books databasebooks.insert({name:'The Art of war'},null,function(err,body){if(!err){console.log(body);}});//Get a list of all booksbooks.list(function(err,body){console.log(body.rows);});
varmysql=require('mysql');varconnection=mysql.createConnection({host:'localhost',user:'dbuser',password:'s3kreee7',});connection.connect();connection.query('SELECT 1 + 1 AS solution',function(err,rows,fields){if(err)throwerr;console.log('The solution is: ',rows[0].solution);});connection.end();
varpgp=require('pg-promise')(/*options*/);vardb=pgp('postgres://username:password@host:port/database');db.one('SELECT $1 AS value',123).then(function(data){console.log('DATA:',data.value);}).catch(function(error){console.log('ERROR:',error);});
varsqlite3=require('sqlite3').verbose();vardb=newsqlite3.Database(':memory:');db.serialize(function(){db.run('CREATE TABLE lorem (info TEXT)');varstmt=db.prepare('INSERT INTO lorem VALUES (?)');for(vari=0;i<10;i++){stmt.run('Ipsum '+i);}stmt.finalize();db.each('SELECT rowid AS id, info FROM lorem',function(err,row){console.log(row.id+': '+row.info);});});db.close();