From e697192c6232fabc5f218510795464813cff4f1e Mon Sep 17 00:00:00 2001 From: Kyle K Date: Sun, 1 Jul 2012 06:31:30 -0500 Subject: first db sample using mongodb --- db1.js | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ notes.txt | 4 +++ simpleserver.js | 21 ++++++++++++++ 3 files changed, 111 insertions(+) create mode 100644 db1.js create mode 100644 simpleserver.js diff --git a/db1.js b/db1.js new file mode 100644 index 0000000..6307923 --- /dev/null +++ b/db1.js @@ -0,0 +1,86 @@ +/* creates users with name and password and is able to list them + * + * $ mongo; use nodejs1; db.getCollectionNames(), db.users.find(), db.users.remove(), db.users.drop() + * + */ + +var express = require('express'); +var dburl = 'localhost/nodejs1'; +var collections = ['users']; +var db = require("mongojs").connect(dburl, collections); + +var app = express.createServer(); + +app.configure(function() { + app.use(express.logger('dev')); + app.use(express.favicon()); + app.use(express.bodyParser()); /* creates req,body which req.param() uses */ + app.use(app.router); +}); + +app.get('/', function(req, res) { + res.send('\n' + + '\n' + + '\n' + + '

\n' + + ' create users here
\n' + + ' list users here\n' + + '

\n' + + '\n' + + '\n'); +}); + +app.get('/user', function(req, res) { + res.send('\n' + + '\n' + + '\n' + + '
\n' + + ' User:
\n' + + ' Password:
\n' + + ' \n' + + '
\n' + + '\n' + + '\n'); +}); + +app.post('/create', function(req, res) { + db.users.save({user: req.param('username'), pass: req.param('password')}, function(err, thing) { + if (err || !thing) + console.log('error saving'); + else + console.log('successfully saved'); + }); + res.redirect('/'); +}); + +app.get('/list', function(req, res) { + db.users.find(function(err, things) { + /* things should be array of structs heh */ + + if (err || !things) + console.log('nothing in db or error retrieving'); + else + { + var userlist = ''; + things.forEach(function(user) { + userlist = userlist + 'User: ' + user.user + '
Password: ' + user.pass + '
'; + }); + + res.send('\n' + + '\n' + + '\n' + + userlist + + '\n' + + '\n'); + } + + }); +}); + +app.listen(8081, function() { + console.log("listening on port %d in %s mode", this.address().port, this.settings.env); +}) +.on('error', function(e) { + console.log('failed creating server, errno: ' + e.errno); +}); + diff --git a/notes.txt b/notes.txt index 38da624..8b7ed8f 100644 --- a/notes.txt +++ b/notes.txt @@ -3,3 +3,7 @@ $ express do '# npm install -g express' beforehand, express command generates nice template dir structure to get started +[code analysis] +# npm install -g jslint +$ jslint --sloppy --white + diff --git a/simpleserver.js b/simpleserver.js new file mode 100644 index 0000000..b90d6ea --- /dev/null +++ b/simpleserver.js @@ -0,0 +1,21 @@ +var express = require('express'); + +var app = express.createServer(); + +app.configure(function() { + app.use(express.logger('dev')); + app.use(express.favicon()); + app.use(app.router); +}); + +app.get('/*', function(req, res) { + res.send('hello, world!\n'); +}); + +app.listen(8080, function() { + console.log("listening on port %d in %s mode", this.address().port, this.settings.env); +}) +.on('error', function(e) { + console.log('failed creating server, errno: ' + e.errno); +}); + -- cgit v1.2.3