Skip to content

Instantly share code, notes, and snippets.

@victorkurauchi
Created November 16, 2013 19:04
Show Gist options
  • Save victorkurauchi/7503948 to your computer and use it in GitHub Desktop.
Save victorkurauchi/7503948 to your computer and use it in GitHub Desktop.
beer.js ~ implementação de insert com mongoose/express
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