UNPKG

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
'use strict'; 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);