Mixed schemas in a single subdocument array

If I have a parent schema like:

{
  doc_name:String,
  doc_collection:[?????]
}

and subdoc children:

child1 = 
{
 child_type: String,
 property1: String,
 property2: Number
}

child2 = 
{
  child_type: string,
  different_property1: Number,
  much_different_property2: String
}

can parentschema.doc_collection hold subdocuments of both child1 and child2 schemas?

Or do I have to do:

{
  doc_name:String,
  doc_collection:
  { 
    child1:[child1],
    child2:[child2]
  }
}

I would normally create a subdocument schema that can encompass properties of ALL the types of objects I'm tring to stick in the array, but these are just too different. From the controller perspective, the child schemas are all of type doc_collection.

if my memories are good, mongoose doesn't handle complex type array (in term of content validation)

that means, if your model is like :

{
  doc_collection : []
}

{
  doc_collection : [child1]
}

is the same. and the worst is that if your model is

{
  doc_collection : [child1]
}

you would be able to add anythind in doc_collection array

myModel.doc_collection.push(anyChild2);

take a look to the array chapter : http://mongoosejs.com/docs/schematypes.html