express-database

v1.0.0
Simple database middleware for Express
express expressjs database db middleware

express-database

travis package version nodejs version license downloads

Usage

const mysql = require('express-database-mysql')
const app = express()

// define here routes without needed database connection
// ex: static routes, index page, etw.

// use the database middleware
app.use(database({
  db: mysql("mysql://foo:[email protected]/db")
})

app.get("/api/foobar", function(req, res, next) {
  const { query, set, get, connect } = req.database
  
  query('show databases').then([rows] => rows)  // our abstract api
  connect.do.some() // yours unsafe raw connector
  
  // ...
  
  // the database connection will be closed automatically 
  res.render('page')
})

API

req.database

  • req.database - reference to connection to your database.
  • req.database.connect - reference to raw connection to your database
  • req.database.close - close connection to database, called automatically.

options

  • options.db - connection's constructor; it should have method open that return Promise with connection.

Connectors

Each connector should have connect property and method close(). Is's required api. Connectors can have any count of other helper methods. Each method should return Promise. Property connect should hold reference to raw api. See express-database-mysql as example.

License

MIT, 2016 (c) Dmitry Tsvettsikh

npm i express-database

Metadata

  • MIT
  • >= 4
  • Dmitry Tsvettsikh
  • released 8/18/2016

Downloads

Maintainers