1.3.7 • Published 8 years ago

tougo-query-builder v1.3.7

Weekly downloads
1
License
ISC
Repository
-
Last release
8 years ago

tougo-query-builder

query builder for postgres A little library for constructing raw sql queries.

@notice There are some function collections like spatial/string/alter that need different initialization because we felt its better like that in order to be less confusing (see example 4). Anyone is welcomed to do a pull request in github

@1.3.5 we added a dependency on the pg package so as to be able, by using for example express, to write a simple rest end point directly through this package. So don't forget to do a npm install to get the right packages.

example

var express = require('express');
var router = express.Router();
var path = require('path');
var connectionString = "postgres://postgres:password@localhost:5432/database";
var app = express();
var morgan = require('morgan');
var bodyParser = require('body-parser');
var methodOverride = require('method-override');
var qb =require('tougo-query-builder');

app.use(morgan('dev'));
app.use(bodyParser.urlencoded({'extended':'true'}));
app.use(bodyParser.json());
app.use(bodyParser.json({ type: 'application/vnd.api+json' }));
app.use(methodOverride());
app.listen(3000);

app.get('/api/property/list', function(req, res) {
    var results = [];
    var q = new qb;
    var qstring = q.select('*').from('property').leftjoin('property','tenant', 'tenant_id');
    q.connectionstring = connectionString;
    results = q.connectandquery(res, qstring.query, results);
});

LIST OF SUPPORTED FUNCTIONS

examples

initialize

var Constructor = require('tougo-query-builder');
var qb = new Constructor;

example 1

SELECT * FROM PROPERTY

var q = qb.select('*').from('property').query;

example 2

SELECT * FROM PROPERTY LEFT JOIN TENANT ON PROPERTY.TENANT_ID = TENANT.TENANT_ID

var q = qb.select('*').from('property').leftjoin('property','tenant', 'tenant_id').query;

example 3

UPDATE TENANT SET at1 = 'val1', at2 = 'val2' WHERE tenant_id = 27

var attributes = ["at1", "at2"];
var values = ["'val1'", "'val2'"];
var keyexpression = "tenant_id = 27";
var q = qb.update("tenant", attributes, values).where(keyexpression).query;

example 4 (spatial)

SELECT ST_Transform(ST_GeomFromText('POINT(743238 2967416)',2249),4326)

var qsp = new qb.spatial
var q1 = qsp.Transform("POINT(743238 2967416)", 2249, 4326).query;
var qb2 = new Constructor;
var q2 = qb2.select(q1).query;

methods

var Constructor = require('tougo-query-builder');

install

npm install tougo-query-builder

license

ISC

1.3.7

8 years ago

1.3.6

8 years ago

1.3.5

8 years ago

1.3.4

8 years ago

1.3.3

8 years ago

1.3.2

8 years ago

1.3.1

8 years ago

1.3.0

8 years ago

1.2.26

8 years ago

1.2.25

8 years ago

1.2.24

8 years ago

1.2.23

8 years ago

1.2.22

8 years ago

1.2.21

8 years ago

1.2.20

8 years ago

1.2.19

8 years ago

1.2.18

8 years ago

1.2.17

8 years ago

1.2.16

8 years ago

1.2.15

8 years ago

1.2.14

8 years ago

1.2.13

8 years ago

1.2.12

8 years ago

1.2.11

8 years ago

1.2.10

8 years ago

1.2.9

8 years ago

1.2.8

8 years ago

1.2.7

8 years ago

1.2.6

8 years ago

1.2.5

8 years ago

1.2.4

8 years ago

1.2.3

8 years ago

1.2.2

8 years ago

1.2.1

8 years ago

1.2.0

8 years ago

1.1.0

8 years ago

1.0.0

8 years ago