1.3.7 • Published 9 years ago

tougo-query-builder v1.3.7

Weekly downloads
1
License
ISC
Repository
-
Last release
9 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

9 years ago

1.3.6

9 years ago

1.3.5

9 years ago

1.3.4

10 years ago

1.3.3

10 years ago

1.3.2

10 years ago

1.3.1

10 years ago

1.3.0

10 years ago

1.2.26

10 years ago

1.2.25

10 years ago

1.2.24

10 years ago

1.2.23

10 years ago

1.2.22

10 years ago

1.2.21

10 years ago

1.2.20

10 years ago

1.2.19

10 years ago

1.2.18

10 years ago

1.2.17

10 years ago

1.2.16

10 years ago

1.2.15

10 years ago

1.2.14

10 years ago

1.2.13

10 years ago

1.2.12

10 years ago

1.2.11

10 years ago

1.2.10

10 years ago

1.2.9

10 years ago

1.2.8

10 years ago

1.2.7

10 years ago

1.2.6

10 years ago

1.2.5

10 years ago

1.2.4

10 years ago

1.2.3

10 years ago

1.2.2

10 years ago

1.2.1

10 years ago

1.2.0

10 years ago

1.1.0

10 years ago

1.0.0

10 years ago