title: how can i list mongoose schema fields and their types recursively?
body: <p>i have a complex database (monogdb) structure i need to access via mongoose (node.js)
  i've built schemes and models.
  now - i need to be able to access the field names and field type of every schema from the client and from other places (i.e: in order to create forms, validate types, present tooltips etc)
  the problem - i have many embedded types..
  i there a way to do this easily?
  (i've managed to iterate over the 'Schema.paths' but it some objects there have the 'instance' field, some don't, some have Schema inside etc..</p>
  
  <p>exmaple for one of my sub-schemes:</p>
  
  <pre><code>var labelSpanType = {type: Number, min:0};//"description" : "a numeric type to use for Label spans",
  var labelType = new Schema({
      "@name": String,
      "@start": labelSpanType,
      "@end": labelSpanType,
      "@fgColor": RGBColorType,
      "@bgColor": RGBColorType,
      "@itype": {type: "string",enum: ["APos","CNI","INI","DNI","INC"]},
      "@feID": Number,
      "@cBy": String
  }, {_id:false});
  
  var layerType = new Schema({
      "label": [labelType],
      "@name": String,
      "@rank": orderType
  },{_id:false});
  </code></pre>