Skip to content

Instantly share code, notes, and snippets.

@neaf
Created June 6, 2011 13:52
Show Gist options
  • Save neaf/1010300 to your computer and use it in GitHub Desktop.
Save neaf/1010300 to your computer and use it in GitHub Desktop.
var _ = require('underscore');
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
mongoose.connect('mongodb://localhost/zems');
var Schemata = {
player: new Schema({
name: String,
created_at: { type : Date, default : Date.now }
}),
game: new Schema({
player_ids: Array,
events: Array,
created_at: { type : Date, default : Date.now }
})
};
Schemata.game.path('player_ids').validate(function(v) {
return v.length <= 2;
}, 'game_full');
mongoose.model('Player', Schemata.player);
mongoose.model('Game', Schemata.game);
var Player = exports.Player = mongoose.model('Player');
var Game = exports.Game = mongoose.model('Game');
Game.prototype.addPlayer = function(player) {
if (_.include(this.player_ids, player.id)) { return player; }
this.player_ids.push(player.id);
return player;
};
exports.mongoose = mongoose;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment