Movatterモバイル変換


[0]ホーム

URL:


Database integration

Adding the capability to connect databases to Express apps is just a matter of loading an appropriate Node.js driver for the database in your app. This document briefly explains how to add and use some of the most popular Node.js modules for database systems in your Express app:

These database drivers are among many that are available. For other options,search on thenpm site.

Cassandra

Module:cassandra-driver

Installation

$npminstallcassandra-driver

Example

constcassandra=require('cassandra-driver')constclient=newcassandra.Client({contactPoints:['localhost']})client.execute('select key from system.local',(err,result)=>{if(err)throwerrconsole.log(result.rows[0])})

Couchbase

Module:couchnode

Installation

$npminstallcouchbase

Example

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)}})

CouchDB

Module:nano

Installation

$npminstallnano

Example

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)}})

LevelDB

Module:levelup

Installation

$npminstalllevel levelup leveldown

Example

constlevelup=require('levelup')constdb=levelup('./mydb')db.put('name','LevelUP',(err)=>{if(err)returnconsole.log('Ooops!',err)db.get('name',(err,value)=>{if(err)returnconsole.log('Ooops!',err)console.log(`name=${value}`)})})

MySQL

Module:mysql

Installation

$npminstallmysql

Example

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)throwerrconsole.log('The solution is:',rows[0].solution)})connection.end()

MongoDB

Module:mongodb

Installation

$npminstallmongodb

Example (v2.*)

constMongoClient=require('mongodb').MongoClientMongoClient.connect('mongodb://localhost:27017/animals',(err,db)=>{if(err)throwerrdb.collection('mammals').find().toArray((err,result)=>{if(err)throwerrconsole.log(result)})})

Example (v3.*)

constMongoClient=require('mongodb').MongoClientMongoClient.connect('mongodb://localhost:27017/animals',(err,client)=>{if(err)throwerrconstdb=client.db('animals')db.collection('mammals').find().toArray((err,result)=>{if(err)throwerrconsole.log(result)})})

If you want an object model driver for MongoDB, look atMongoose.

Neo4j

Module:neo4j-driver

Installation

$npminstallneo4j-driver

Example

constneo4j=require('neo4j-driver')constdriver=neo4j.driver('neo4j://localhost:7687',neo4j.auth.basic('neo4j','letmein'))constsession=driver.session()session.readTransaction((tx)=>{returntx.run('MATCH (n) RETURN count(n) AS count').then((res)=>{console.log(res.records[0].get('count'))}).catch((error)=>{console.log(error)})})

Oracle

Module:oracledb

Installation

NOTE:See installation prerequisites.

$npminstalloracledb

Example

constoracledb=require('oracledb')constconfig={user:'<your db user>',password:'<your db password>',connectString:'localhost:1521/orcl'}asyncfunctiongetEmployee(empId){letconntry{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)

PostgreSQL

Module:pg-promise

Installation

$npminstallpg-promise

Example

constpgp=require('pg-promise')(/* options */)constdb=pgp('postgres://username:password@host:port/database')db.one('SELECT $1 AS value',123).then((data)=>{console.log('DATA:',data.value)}).catch((error)=>{console.log('ERROR:',error)})

Redis

Module:redis

Installation

$npminstallredis

Example

constredis=require('redis')constclient=redis.createClient()client.on('error',(err)=>{console.log(`Error${err}`)})client.set('string key','string val',redis.print)client.hset('hash key','hashtest 1','some value',redis.print)client.hset(['hash key','hashtest 2','some other value'],redis.print)client.hkeys('hash key',(err,replies)=>{console.log(`${replies.length} replies:`)replies.forEach((reply,i)=>{console.log(`${i}:${reply}`)})client.quit()})

SQL Server

Module:tedious

Installation

$npminstalltedious

Example

constConnection=require('tedious').ConnectionconstRequest=require('tedious').Requestconstconfig={server:'localhost',authentication:{type:'default',options:{userName:'your_username',// update mepassword:'your_password'// update me}}}constconnection=newConnection(config)connection.on('connect',(err)=>{if(err){console.log(err)}else{executeStatement()}})functionexecuteStatement(){request=newRequest("select 123, 'hello world'",(err,rowCount)=>{if(err){console.log(err)}else{console.log(`${rowCount} rows`)}connection.close()})request.on('row',(columns)=>{columns.forEach((column)=>{if(column.value===null){console.log('NULL')}else{console.log(column.value)}})})connection.execSql(request)}

SQLite

Module:sqlite3

Installation

$npminstallsqlite3

Example

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()

Elasticsearch

Module:elasticsearch

Installation

$npminstallelasticsearch

Example

constelasticsearch=require('elasticsearch')constclient=elasticsearch.Client({host:'localhost:9200'})client.search({index:'books',type:'book',body:{query:{multi_match:{query:'express js',fields:['title','description']}}}}).then((response)=>{consthits=response.hits.hits},(error)=>{console.trace(error.message)})
Edit this page

[8]ページ先頭

©2009-2025 Movatter.jp