Go to file
2015-01-23 15:32:15 -05:00
docs Update docs 2015-01-23 15:32:15 -05:00
lib Make third init argument optional in some cases 2014-12-01 14:08:10 -05:00
node_modules Update modules 2014-11-25 14:23:08 -05:00
tests Make third init argument optional in some cases 2014-12-01 14:08:10 -05:00
.gitignore Simplify grunt file and update .gitignore 2014-11-03 16:50:40 -05:00
.npmignore Update some metadata to publish to npm 2014-10-28 09:46:27 -04:00
.travis.yml Add a verbose flag to mysql import to see where it is failing 2014-10-27 16:41:32 -04:00
Gruntfile.js Simplify grunt file and update .gitignore 2014-11-03 16:50:40 -05:00
package.json Make third init argument optional in some cases 2014-12-01 14:08:10 -05:00
README.md Update docs and readme 2014-12-01 14:07:29 -05:00

#CI-Node-query

A node query builder for various SQL databases, based on CodeIgniter's query builder.

Build Status

Supported adapters

  • mysql
  • mysql2
  • pg
  • dblite
  • sqlite3
  • node-firebird

Installation

npm install ci-node-query

Basic use

var nodeQuery = require('ci-node-query');

var connection = ... // Database module connection 

// Three arguments: database type, database connection, database connection library 
var query = nodeQuery.init('mysql', connection, 'mysql2');

// The third argument is optional if the database connection library has the same name as the adapter, eg..
nodeQuery.init('mysql', connection, 'mysql');
// Can be instead
nodeQuery.init('mysql', connection);

// You can also retrieve the instance later
query = nodeQuery.getQuery();

query.select('foo')
	.from('bar')
	.where('x', 3)
	.orWhere({y: 2})
	.join('baz', 'baz.boo = bar.foo', 'left')
	.orderBy('x', 'DESC')
	.limit(2, 3)
	.get(function(/* Adapter dependent arguments */) {
		// Database module result handling
	});

Additional help

  • Generated documentation is in the docs/ folder
  • tests/query-builder-base.js contains a lot of usage examples
  • The tests/adapters folder contains examples of how to set up a connection for the appropriate database library
  • The documentation generated for the latest dev build is also Available