Working with MongoDB and Mongoose.
MongoDB Connection String: mongodb://107.170.4.85/firstname-lastname
http://mongoosejs.com
https://npmjs.org/package/mongoose
In package.json
"dependencies": {
"express" : "3.4.x",
"mongoose" : "3.8.x"
}
$ npm install
Create a new file called beer.js. Create and export a contoller.
var Beer = function(mongoose) {};
module.exports = Beer;
var Beer = function(mongoose) {
this.BeerSchema = new mongoose.Schema({
name: { type: String, required: true },
type: { type: String },
domestic: { type: Boolean },
rating: { type: Number }
});
this.Beer = mongoose.model('Beer', this.BeerSchema);
};
Beer.prototype.get = function(callback) {
this.Beer.find(callback);
};
Beer.prototype.create = function(postData, callback) {
var beer = new this.Beer(postData);
beer.save(callback);
};
Beer.prototype.remove = function(beerName, callback) {
this.Beer.remove({ name: beerName }, callback);
};
app.use(express.json());
app.post('/beer', function(req, res) {
beer.create(req.body, function(err, result) {
if(err) {
res.send(500, err.toString());
}
else {
res.send(result);
}
});
});
app.get('/beer', function(req, res) {
beer.get(function(err, result) {
if(err) {
res.send(500, err.toString());
}
else {
res.send(result);
}
});
});
app.delete('/beer/:name', function(req, res) {
beer.remove(req.params.name, function(err) {
if(err) {
res.send(500, err.toString());
}
else {
res.send(200);
}
});
});
In phase1.js:
var express = require('express'),
app = express(),
mongoose = require('mongoose');
mongoose.connect('mongodb://107.170.4.85/brandon-cannaday');
In phase1.js:
var express = require('express'),
app = express(),
mongoose = require('mongoose'),
Beer = require('./beer'),
beer = new Beer(mongoose);
// Connect to MongoDB.
mongoose.connect('mongodb://107.170.4.85/brandon-cannaday');
Postman Plugin for Chrome
https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm?hl=en
app/phase2/postman.json
is a collection of Postman requests that can be imported into your collection.
curl:
curl -X POST -H "Content-Type: application/json" -d '{ "name" : "Miller" }' -i http://localhost:8080/beer