Abstracting Mongoose with Restify
Here a simple example of what I usually do with Express
, it's kind of the same thing with Restify
. You can manage your Mongoose
schemas in the same way but in your Restify
routes.
app.js :
var express = require('express'); var app = express();app.configure(function () { app.use(express.logger('dev')); app.use(express.bodyParser());});// connection to mongoDBvar mongoose = require('mongoose');mongoose.connect('mongodb:mongoURI'); var user = require('./routes/users');app.get('/users/list', user.list);app.listen(3000);
models/user.js :
var mongoose = require('mongoose') ,Schema = mongoose.Schema ,ObjectId = Schema.ObjectId;var userSchema = new Schema({ id: ObjectId, name: {type: String, default: ''}, email: {type: String, default: ''}});module.exports = mongoose.model('User', userSchema);
routes/users.js :
var User = require('../models/user.js');exports.list = function(req, res) { User.find(function(err, users) { res.send(users); });};