Skip to content

Commit

Permalink
add a new schema and use reference model
Browse files Browse the repository at this point in the history
  • Loading branch information
jollen committed Nov 15, 2014
1 parent 20a5d05 commit fbfd4d9
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 6 deletions.
15 changes: 13 additions & 2 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,19 @@ var vcardSchema = mongoose.Schema({
Email: String,
Address: String,
Age: Number
})
});

var postSchema = new mongoose.Schema({
uid: { type: mongoose.Schema.Types.ObjectId, ref: 'user' },
title: String,
content: String
});

app.db = {
model: mongoose.model('user', vcardSchema)
model: {
User: mongoose.model('user', vcardSchema),
Post: mongoose.model('post', postSchema)
}
};

// all environments
Expand Down Expand Up @@ -67,6 +76,8 @@ app.get('/1/user/age/:from/:to', api.readByAgeRange);
// Profile
app.post('/1/user/:nickname/:type', api.upload);

app.post('/1/post', api.createPost);

http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
26 changes: 22 additions & 4 deletions routes/api.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
var vcard;

exports.create = function(req, res){
var model = req.app.db.model;
var model = req.app.db.model.User;

var person = {
nickname: req.query.nickname,
Expand All @@ -16,7 +16,7 @@ exports.create = function(req, res){
};

exports.read = function(req, res){
var model = req.app.db.model;
var model = req.app.db.model.User;

var vcard = model.find({}, function(err, vcard) {
res.send({
Expand All @@ -27,7 +27,7 @@ exports.read = function(req, res){
};

exports.readByAge = function(req, res){
var model = req.app.db.model;
var model = req.app.db.model.User;
var age = req.params.age;

//var vcard = model.find({ Age: age }, function(err, vcard) {
Expand All @@ -49,7 +49,7 @@ exports.readByAge = function(req, res){
};

exports.readByAgeRange = function(req, res){
var model = req.app.db.model;
var model = req.app.db.model.User;
var from = parseInt(req.params.from);
var to = parseInt(req.params.to);

Expand Down Expand Up @@ -84,6 +84,24 @@ exports.delete = function(req, res){
res.end();
};

exports.createPost = function(req, res){
var model = req.app.db.model.Post;
var uid = '545dc0b2a7678639e78366f1';
var title = req.query.title;
var content = req.query.content;

var post = {
uid: uid,
title: title,
content: content
};

var postDocument = new model(post);
postDocument.save();

res.send({status: 'OK'});
};

exports.upload = function(req, res) {

var type = req.params.type; // 'photo' or 'voice'
Expand Down

0 comments on commit fbfd4d9

Please sign in to comment.