mirror of
https://github.com/brianc/node-postgres.git
synced 2026-01-25 16:03:13 +00:00
Updated Example (markdown)
parent
d2b8fd59aa
commit
6f8536c97c
55
Example.md
55
Example.md
@ -3,44 +3,27 @@
|
||||
You'll need to first "create table visit (date date)" in your postgres database
|
||||
|
||||
```javascript
|
||||
var sys = require('sys');
|
||||
var http = require('http');
|
||||
var pg = require('pg').native;
|
||||
var connectionString = "postgres://postgres:abcd@localhost:5432/postgres";
|
||||
var pg = require('pg');
|
||||
|
||||
var server = http.createServer(function(req, res) {
|
||||
var start = new Date();
|
||||
if(req.url != "/") {
|
||||
res.writeHead(404);
|
||||
return res.end("404'd")
|
||||
}
|
||||
var after = function(callback) {
|
||||
return function(err, queryResult) {
|
||||
if(err) {
|
||||
res.writeHead(500, {"Content-Type" : "text/plain"});
|
||||
return res.end("Error! " + sys.inspect(err))
|
||||
}
|
||||
callback(queryResult)
|
||||
}
|
||||
}
|
||||
|
||||
pg.connect(connectionString, after(function(client) {
|
||||
client.query("SELECT COUNT(date) as count FROM visit", after(function(result) {
|
||||
client.query("SELECT date FROM visit ORDER BY date DESC LIMIT 1", after(function(dateResult) {
|
||||
var text = ["<html><head><title>Postgres Node Hello</title><body>",
|
||||
"<p>I have been viewed ", result.rows[0].count, " times</p>",
|
||||
"<p>Most recently I was viewed at ", (dateResult.rows.length !== 0 ? dateResult.rows[0].date : ""), "</p>",
|
||||
'you can view the source <a href="http://github.com/brianc/node-postgres">on github</a>',
|
||||
'<p>this page took ~',
|
||||
(new Date())-start,
|
||||
' milliseconds to render</p>',
|
||||
"</body></html>"].join('')
|
||||
res.writeHead(200, {"Content-Type": "text/html"})
|
||||
res.end(text);
|
||||
client.query('INSERT INTO visit(date) VALUES($1)', [new Date()])
|
||||
}))
|
||||
}))
|
||||
}))
|
||||
var server = http.createServer(function(req, res, next) {
|
||||
pg.connect(function(err, client, done) {
|
||||
var handleError = function(err) {
|
||||
if(!err) return false;
|
||||
done(client);
|
||||
next(err);
|
||||
return true;
|
||||
};
|
||||
client.query('INSERT INTO visit (date) VALUES ($1)', [new Date()], function(err, result) {
|
||||
if(handleError(err)) return;
|
||||
client.query('SELECT COUNT(date) AS count FROM visit', function(err, result) {
|
||||
if(handleError(err)) return;
|
||||
done();
|
||||
res.writeHead(200, {'content-type': 'text/html'});
|
||||
res.end('You are visitor number ' + result.rows[0].count);
|
||||
});
|
||||
});
|
||||
});
|
||||
})
|
||||
|
||||
server.listen(3001)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user