[BUG] Unable to stop saving empty arrays in Mongoose when array not set
### Describe the bug

## Summary
After longer discussion with Romain on Slack, Romain asked to create a BUG ticket here. So here it is.

## Problem
Mongoose by default saves empty arrays to the database. When array is missing, the default value is `[]`. This is not always expected, and we should be able to change it. Mongoose documentation explains that we should set `default: undefined` in JSON schema to override default behavior and stop saving empty arrays, like below:
```javascript
var ToyBoxSchema = new Schema({
  toys: {
    type: [ToySchema],
    default: undefined
  }
});
```

I tried few possibilities:
```typescript
@Schema({
    default: undefined
})
@Enum(HeatPumpOperatingModeDTO)
public operatingModes?: HeatPumpOperatingModeDTO[];
```
or
```typescript
@Schema({
    default: void 0
})
@Enum(HeatPumpOperatingModeDTO)
public operatingModes?: HeatPumpOperatingModeDTO[];
```
Both above examples takes no effect on behavior. Even setting the null is not working:
```typescript
@Schema({
    default: null
})
@Enum(HeatPumpOperatingModeDTO)
public operatingModes?: HeatPumpOperatingModeDTO[];
```

## Results
After Romain investigation he discovered that this is longer story to be fixed. The schema saving for Mongoose arrays must be changed and it may take more time to implement.

### To Reproduce

Implement an example class decorated with Mongoose Schema with one optional array property, e.g. with Enum as item value:
```typescript
import {Schema} from '@tsed/mongoose';
import {Required, AnyOf, Property, Enum} from '@tsed/schema';

@Schema({
    schemaOptions: {
        _id: false
    }
})
export class ExampleClass {
    @Property()
    public someProperty?: boolean;

    @Enum(SomeEnum)
    public enumsArray?: SomeEnum[];
}
```

Then create a new object, and use it for Mongoose record saving, here is just a schema, for real saving you need a `@Model` decorated class which contains the property of the type above - example below:

```typescript
import {Model} from '@tsed/mongoose';
import {Required, Integer, CollectionOf, Enum} from '@tsed/schema';

@Model({
    collection: 'example-collection',
    schemaOptions: {
        timestamps: true,
        versionKey: false
    }
})
export class CollectionClass {
    @Required()
    public nested: ExampleClass;
}
```
When you will create a new instance leave the `enumsArray` property not set, after record creation of update the value will be set to `[]` all the time. This is the default behavior of Mongoose which we should be able to override/disable.



### Expected behavior

We should be able to override the default behavior of the Mongoose which is always saving empty arrays to Database even for missing properties. According to Mongoose docu it is possible: https://mongoosejs.com/docs/schematypes.html#arrays

![Image](https://github.com/user-attachments/assets/e378cac8-e44d-4d34-920b-880b713faf6c)

### Code snippets

```TypeScript

```

### Repository URL example

_No response_

### OS

WINDOWS 10

### Node version

Node v20.15.0

### Library version

v7.75.0

### Additional context

_No response_