Created
November 16, 2013 19:04
-
-
Save victorkurauchi/7503948 to your computer and use it in GitHub Desktop.
beer.js ~ implementação de insert com mongoose/express
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var mongoose = require('mongoose'); | |
mongoose.connect('mongodb://localhost/workshop-novembro'); | |
var db = mongoose.connection; | |
db.on('error', function(err){ | |
console.log('Erro de conexao.', err) | |
}); | |
db.once('open', function () { | |
console.log('Conexão aberta.') | |
}); | |
var BeerSchema = new mongoose.Schema({ | |
name: { type: String, default: '' }, | |
description: { type: String, default: '' }, | |
alcohol: { type: Number, min: 0}, | |
category: { type: String, default: ''}, | |
ingredients: [{ | |
name: { type: String, default: '' }, | |
qnty: { type: String, default: '' }, | |
}], | |
created: { type: Date, default: Date.now }, | |
updated: { type: Date, default: '' }, | |
}); | |
var Beer = mongoose.model('Beer', BeerSchema); | |
var dados = { | |
name: 'Brew Dog', | |
category: 'IPA', | |
alcohol: 11 | |
}; | |
var Db = {}; | |
Db.create = function(dados){ | |
var beer = new Beer(dados); | |
beer.save(function(err) { | |
if(err){ | |
console.log(err); | |
} else { | |
console.log('Cerveja cadastrada com sucesso'); | |
} | |
}); | |
} | |
Db.retrieve = function(query){ | |
Beer.find(query, function (err, beers) { | |
if(err) { | |
// console.log(err); | |
return err; | |
} else { | |
// res.send(beers); | |
// console.log(beers); | |
return beers; | |
// res.end(); | |
} | |
}); | |
} | |
Db.update = function(query, dados){ | |
console.log(query); | |
Beer.update(query, dados, function(err, beer) { | |
if(err) { | |
console.log(err); | |
} else { | |
console.log('Cerveja atualizada com sucesso', beer); | |
} | |
}); | |
} | |
Db.delete = function(query){ | |
Beer.remove(query, function(err) { | |
if(err) { | |
console.log(err); | |
} else { | |
console.log('Cerveja deletada com sucesso!'); | |
} | |
}); | |
} | |
exports.create = module.exports.create = function(req, res){ | |
var dados = req.body | |
console.log('dados', dados); | |
var beer = new Beer(dados); | |
beer.save(function(err) { | |
if(err){ | |
console.log(err); | |
} else { | |
console.log('Cerveja cadastrada com sucesso'); | |
Beer.find(query, function (err, beers) { | |
if(err) { | |
console.log(err); | |
return err; | |
} else { | |
res.render('beers/list', {cervejas: beers}); | |
} | |
}); | |
} | |
}); | |
}; | |
exports.retrieve = module.exports.retrieve = Db.retrieve; | |
exports.update = module.exports.update = Db.update; | |
exports.delete = module.exports.delete = Db.delete; | |
exports.list = module.exports.list = function(req, res){ | |
var query = {}; | |
Beer.find(query, function (err, beers) { | |
if(err) { | |
console.log(err); | |
return err; | |
} else { | |
res.render('beers/list', {cervejas: beers}); | |
} | |
}); | |
} | |
exports.showCreate = function(req, res){ | |
res.render('beers/form'); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment