2 var mongoose = require('../../lib');
3 var Schema = mongoose.Schema;
5 console.log('Running mongoose version %s', mongoose.version);
11 var consoleSchema = Schema({
16 var Console = mongoose.model('Console', consoleSchema);
22 var gameSchema = Schema({
27 type: Schema.Types.ObjectId,
31 var Game = mongoose.model('Game', gameSchema);
34 * Connect to the console database on localhost with
35 * the default port (27017)
38 mongoose.connect('mongodb://localhost/console', function(err) {
39 // if we failed to connect, abort
50 function createData() {
54 manufacturer: 'Nintendo',
55 released: 'September 29, 1996'
58 name: 'Super Nintendo',
59 manufacturer: 'Nintendo',
60 released: 'August 23, 1991'
62 function(err, nintendo64, superNintendo) {
63 if (err) return done(err);
67 name: 'Legend of Zelda: Ocarina of Time',
68 developer: 'Nintendo',
69 released: new Date('November 21, 1998'),
70 consoles: [nintendo64]
74 developer: 'Nintendo',
75 released: 'September 1, 1992',
76 consoles: [superNintendo]
79 if (err) return done(err);
94 .exec(function(err, games) {
95 if (err) return done(err);
97 console.log('found %d games', games.length);
99 var options = {path: 'consoles', select: 'name released -_id'};
100 Game.populate(games, options, function(err, games) {
101 if (err) return done(err);
103 games.forEach(function(game) {
105 '"%s" was released for the %s on %s',
107 game.consoles[0].name,
108 game.released.toLocaleDateString()
118 if (err) console.error(err);
119 Console.remove(function() {
120 Game.remove(function() {
121 mongoose.disconnect();