I met a strange question when I save position points in mongo by mongoose.
const testSchema1 = new mongoose.Schema({
  releasePoints: [{
    type: [Number]
  }]
}, {
  timestamps: {
    createdAt: 'created_at',
    updatedAt: 'updated_at'
  }
});
const testSchema2 = new mongoose.Schema({
  releasePoints: [[Number]]
}, {
  timestamps: {
    createdAt: 'created_at',
    updatedAt: 'updated_at'
  }
});
When I use testSchema2 save data success, but I use testSchema1 throw err:
validation failed: releasePoints: Cast to Array failed for value "[ [ 2.3635503,....
What difference about testSchema1 and testSchema2?
Can add validate in testSchema1? 
For example:
const testSchema1 = new mongoose.Schema({
  releasePoints: [{
    type: [Number],
    validate: (val) => val.length === 2
  }]
}, {
  timestamps: {
    createdAt: 'created_at',
    updatedAt: 'updated_at'
  }
});