title: Defining a Mongoose schema from a JSON file
body: <p>I want to define my mongoose schema from JSON file. This is my JSON file structure:       </p>
  
  <pre><code>   {    
          "default": [
              {
                  "item": "productTitle",
                  "label": "Product Title",
                  "note": "e.g Samsung GALAXY Note 4",
                  "type": "text",
                  "required": "Product Name cannot be blank..."
              },
              {
                  "item": "productCode",
                  "label": "Product Code",
                  "type": "text",
                  "required": "Product Code cannot be blank..."
              }    
          ]}
  </code></pre>
  
  <p>This is my node.js model:    </p>
  
  <pre><code>// Load the module dependencies
  var mongoose = require('mongoose'),
  Schema = mongoose.Schema;
  
  var fs = require('fs');
  var file = __dirname + '/product.server.model.json';
  
  // Read the json file
  fs.readFile(file, 'utf8', function (err, data) {
  
  data = JSON.parse(data);
  
  var productJson = {};
  for(var  i = 0; i &lt; data.default.length; i++) {
  
      productJson[data.default[i].slug] = {
          type: 'String',
          required: data.default[i].required,
          default: '',
          trim: true
      }
  
  }
  
  });
  
  // Define a new 'ProductSchema'
  var ProductSchema = new Schema(
     // Here I want to put JSON Data 'productJson'
  );
  
  // Create the 'Product' model out of the 'ProductSchema'
  mongoose.model('Product', ProductSchema);    
  </code></pre>
  
  <p>I tried every possible way to define mongoose schema from JSON data 'productJson'. But unless I pre-define my mongoose schema, it is not working. Is there any way to define mongoose schema from JSON data in my model? Any suggestion please? </p>