Package Exports
- json-sql
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (json-sql) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
JSON-SQL
Library for mapping mongo-style query objects to SQL queries.
Quick Start
Install it with NPM or add it to your package.json:
$ npm install json-sqlThen:
var jsonSql = require('json-sql')();
var sql = jsonSql.build({
type: 'select',
table: 'users',
fields: ['name', 'age'],
condition: {name: 'Max', id: 6}
});
sql.query
// sql string:
// select name, age from users where name = p0 && id = 6;
sql.values
// hash of values:
// { p0: 'Max' }Documentation
Documentation is available here.
Examples
Select with join:
var sql = jsonSql.build({
type: 'select',
table: 'users',
join: {
documents: {
on: {'user.id': 'documents.userId'}
}
}
});
sql.query
// select * from users join documents on user.id = documents.userId;
sql.values
// {}Insert:
var sql = jsonSql.build({
type: 'insert',
table: 'users',
values: {
name: 'John',
lastname: 'Snow',
age: 24,
gender: 'male'
}
});
sql.query
// insert into users (name, lastname, age, gender) values (p0, p1, 24, p2);
sql.values
// { p0: 'John', p1: 'Snow', p2: 'male' }Update:
var sql = jsonSql.build({
type: 'update',
table: 'users',
condition: {
id: 5
},
modifier: {
role: 'admin'
age: 33
}
});
sql.query
// update users set role = p0, age = 33 where id = 5;
sql.values
// { p0: 'admin' }Remove:
var sql = jsonSql.build({
type: 'remove',
table: 'users',
condition: {
id: 5
}
});
sql.query
// delete from users where id = 5;
sql.values
// {}For more examples, take a look at the ./tests directory.
Tests
Clone repository from github, cd into cloned dir and install dev dependencies
$ npm installrun tests
$ npm testLicense
MIT