1
0
mirror of https://github.com/mgerb/mywebsite synced 2026-01-12 10:52:47 +00:00

Added all files

This commit is contained in:
2015-06-24 11:18:57 -05:00
parent 4c1ff3628c
commit a2c44e494f
2633 changed files with 459257 additions and 0 deletions

102
node_modules/mongoose/examples/schema/schema.js generated vendored Normal file
View File

@@ -0,0 +1,102 @@
/**
* Module dependencies.
*/
var mongoose = require('../../lib')
, Schema = mongoose.Schema;
/**
* Schema definition
*/
// recursive embedded-document schema
var Comment = new Schema();
Comment.add({
title : { type: String, index: true }
, date : Date
, body : String
, comments : [Comment]
});
var BlogPost = new Schema({
title : { type: String, index: true }
, slug : { type: String, lowercase: true, trim: true }
, date : Date
, buf : Buffer
, comments : [Comment]
, creator : Schema.ObjectId
});
var Person = new Schema({
name: {
first: String
, last : String
}
, email: { type: String, required: true, index: { unique: true, sparse: true } }
, alive: Boolean
});
/**
* Accessing a specific schema type by key
*/
BlogPost.path('date')
.default(function(){
return new Date()
})
.set(function(v){
return v == 'now' ? new Date() : v;
});
/**
* Pre hook.
*/
BlogPost.pre('save', function(next, done){
emailAuthor(done); // some async function
next();
});
/**
* Methods
*/
BlogPost.methods.findCreator = function (callback) {
return this.db.model('Person').findById(this.creator, callback);
}
BlogPost.statics.findByTitle = function (title, callback) {
return this.find({ title: title }, callback);
}
BlogPost.methods.expressiveQuery = function (creator, date, callback) {
return this.find('creator', creator).where('date').gte(date).run(callback);
}
/**
* Plugins
*/
function slugGenerator (options){
options = options || {};
var key = options.key || 'title';
return function slugGenerator(schema){
schema.path(key).set(function(v){
this.slug = v.toLowerCase().replace(/[^a-z0-9]/g, '').replace(/-+/g, '');
return v;
});
};
};
BlogPost.plugin(slugGenerator());
/**
* Define model.
*/
mongoose.model('BlogPost', BlogPost);
mongoose.model('Person', Person);

View File

@@ -0,0 +1,27 @@
// modules
var mongoose = require('../../../lib')
var Schema = mongoose.Schema;
// parse json
var raw = require('./schema.json');
// create a schema
var timeSignatureSchema = Schema(raw);
// compile the model
var TimeSignature = mongoose.model('TimeSignatures', timeSignatureSchema);
// create a TimeSignature document
var threeFour = new TimeSignature({
count: 3
, unit: 4
, description: "3/4"
, additive: false
, created: new Date
, links: ["http://en.wikipedia.org/wiki/Time_signature"]
, user_id: "518d31a0ef32bbfa853a9814"
});
// print its description
console.log(threeFour)

View File

@@ -0,0 +1,9 @@
{
"count": "number",
"unit": "number",
"description": "string",
"links": ["string"],
"created": "date",
"additive": "boolean",
"user_id": "ObjectId"
}