Skip to content

Commit

Permalink
Save reports to mongodb
Browse files Browse the repository at this point in the history
using mongolab.com

  gdg_reporte/gdg_reporte0
  • Loading branch information
vic committed Dec 13, 2012
1 parent b80b9e8 commit cec2792
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 18 deletions.
41 changes: 25 additions & 16 deletions server/app.js
@@ -1,6 +1,8 @@
var fs = require("fs");
var express = require("express");
var app = express();
var backend = require('./backend');


app.use(express.bodyParser({ keepExtensions: true, uploadDir: 'uploads/' }));
app.engine('jade', require('jade').__express);
Expand All @@ -20,22 +22,29 @@ app.get('/', function(req, res){

// POST Datos
app.post('/newreport', function(req, res){
try {
var report = {
image: req.files.image,
location: req.body.location,
time: req.body.time,
type: req.body.type
};
var reportid = saveReport(report);
res.status(200);
res.json({id: reportid});

} catch (err) {
console.log(err);
res.status(500);
res.json(req.params);
}
var image = req.files.image;
var report = {
image: {
path: image.path
},
location: [
req.body.latitude * 1.0,
req.body.longitude * 1.0
],
time: req.body.time,
type: req.body.type
};
backend.saveReport(report, function(err, report){
if(err){
console.log(err);
res.status(500);
res.json(req.params);
} else {
console.log(report);
res.status(200);
res.json({id: report.id.toString()});
}
})
});

app.listen(8080);
Expand Down
41 changes: 41 additions & 0 deletions server/backend.js
@@ -0,0 +1,41 @@

var mongoose = require('mongoose');
var mongo = require('mongo');

var dbUrl = "mongodb://gdg_reporte:gdg_reporte0@ds045507.mongolab.com:45507/gdg_reporte"

var db = mongoose.connect(dbUrl, function(err) {
if (err) {
console.log("error in mongo connection");
throw err;
}
console.log("connected to mongo");
});

var Schema = mongoose.Schema;

var Reporte = new Schema({
time: Number,
type: String,
image: {
path: String,
size: Number
},
location: [Number]
});
Reporte.index({ location: '2d' })

var ReporteModel = db.model('Reporte', Reporte);

var saveReport = function(report, cb){
var reporte = new ReporteModel(report)
reporte.save(cb);
};

exports.Reporte = ReporteModel;
exports.db = db;
exports.saveReport = saveReport;




4 changes: 3 additions & 1 deletion server/package.json
Expand Up @@ -5,7 +5,9 @@
"private": true,
"dependencies": {
"express": "3.x",
"jade": "*"
"jade": "*",
"mongoose": "*",
"mongo": "*"
},
"engines": {
"node": "0.8.x",
Expand Down
3 changes: 2 additions & 1 deletion server/views/index.jade
Expand Up @@ -3,7 +3,8 @@ html
h1 Hello
form(method='post', action='/newreport', enctype="multipart/form-data")
input(name='image', type='file')
input(name='location', type='hidden')
input(name='latitude', type='hidden', value='0.1')
input(name='longitude', type='hidden', value='0.2')
input(name='time', type='hidden')
input(name='type', type='hidden')
input(type='submit') Subir

0 comments on commit cec2792

Please sign in to comment.