slush-mongo
Version:
A slush generator for MongoDB, which can scaffold Express/Mongojs, Express/Mongoose, Express/Mongoskin and Koa/Monk apps
15 lines (11 loc) • 1.63 kB
JavaScript
;
var mongoose = require('mongoose'),
Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
var fields = {
<% schemaFields.forEach(function(field, index) {
switch(field.split(":")[1]){
case 'String': %> <%= field.split(":")[0] + ": { type: " + field.split(":")[1] + " }" %><% if(schemaFields.length - 1 !== index ){ %>,<%= "\n" %><% } break; case 'Number': %> <%= field.split(":")[0] + ": { type: " + field.split(":")[1] + " }" %><% if(schemaFields.length - 1 !== index ){ %>,<%= "\n" %><% } break; case 'Date': %> <%= field.split(":")[0] + ": { type: " + field.split(":")[1] + " , default: Date.now }" %><% if(schemaFields.length - 1 !== index ){ %>,<%= "\n" %><% } break; case 'Buffer': %> <%= field.split(":")[0] + ": { type: " + field.split(":")[1] + " }" %><% if(schemaFields.length - 1 !== index ){ %>,<%= "\n" %><% } break; case 'Boolean': %> <%= field.split(":")[0] + ": { type: " + field.split(":")[1] + " }" %><% if(schemaFields.length - 1 !== index ){ %>,<%= "\n" %><% } break; case 'Mixed': %> <%= field.split(":")[0] + ": { type: " + field.split(":")[1] + " }" %><% if(schemaFields.length - 1 !== index ){ %>,<%= "\n" %><% } break; case 'ObjectId': %> <%= field.split(":")[0] + ": { type: " + field.split(":")[1] + " }" %><% if(schemaFields.length - 1 !== index ){ %>,<%= "\n" %><% } break; case 'Array': %> <%= field.split(":")[0] + ": { type: " + field.split(":")[1] + " }" %><% if(schemaFields.length - 1 !== index ){ %>,<%= "\n" %><% } break; } }) %>
};
var <%= schemaSlug %>Schema = new Schema(fields);
module.exports = mongoose.model('<%= schemaCamelized %>', <%= schemaSlug %>Schema);