title: Sub-document in an array saves as an empty array item if no value is provided on document creation
body: <p>What I want is for a particular field in my schema to be an array with items in it.</p>
  
  <p>When I create the document in question, I will not have any array items. Therefore, I expect my document to look like:</p>
  
  <pre><code>{
    notes: []
  }
  </code></pre>
  
  <p>The problem is, I'm getting an array that looks like:</p>
  
  <pre><code>{
    notes: ['']
  }
  </code></pre>
  
  <p>Querying the <code>notes.length</code>, I get 1, which is problematic for me, because it's essentially an empty array item.</p>
  
  <p>This is the code I'm working with:</p>
  
  <pre><code>const SubDocumentSchema = function () {
    return new mongoose.Schema({
      content: {
        type: String,
        trim: true
      },
      date: {
        type: Date,
        default: Date.now
      }
    })
  }
  
  const DocumentSchema = new mongoose.Schema({
      notes: {
        type: [SubDocumentSchema()]
      }
  });
  
  const Document = mongooseConnection.model('DocumentSchema', DocumentSchema)
  const t = new Document()
  
  t.save()
  </code></pre>