Skip to content

Commit 6b0a107

Browse files
chore(): upgrade to mongoose v6
1 parent 64c17ac commit 6b0a107

File tree

4 files changed

+15782
-159
lines changed

4 files changed

+15782
-159
lines changed

lib/factories/schema.factory.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Type } from '@nestjs/common';
22
import * as mongoose from 'mongoose';
3+
import { SchemaDefinition, SchemaDefinitionType } from 'mongoose';
34
import { TypeMetadataStorage } from '../storages/type-metadata.storage';
45
import { DefinitionsFactory } from './definitions.factory';
56

@@ -8,14 +9,13 @@ export class SchemaFactory {
89
TClass extends any = any,
910
TDocument extends mongoose.Document = TClass extends mongoose.Document
1011
? TClass
11-
: mongoose.Document<TClass>
12+
: mongoose.Document<TClass>,
1213
>(target: Type<TClass>): mongoose.Schema<TDocument> {
1314
const schemaDefinition = DefinitionsFactory.createForClass(target);
14-
const schemaMetadata = TypeMetadataStorage.getSchemaMetadataByTarget(
15-
target,
16-
);
15+
const schemaMetadata =
16+
TypeMetadataStorage.getSchemaMetadataByTarget(target);
1717
return new mongoose.Schema<TDocument>(
18-
schemaDefinition,
18+
schemaDefinition as SchemaDefinition<SchemaDefinitionType<TDocument>>,
1919
schemaMetadata && schemaMetadata.options,
2020
);
2121
}

lib/mongoose-core.module.ts

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
} from '@nestjs/common';
1111
import { ModuleRef } from '@nestjs/core';
1212
import * as mongoose from 'mongoose';
13-
import { defer } from 'rxjs';
13+
import { defer, lastValueFrom } from 'rxjs';
1414
import { getConnectionToken, handleRetry } from './common/mongoose.utils';
1515
import {
1616
MongooseModuleAsyncOptions,
@@ -53,18 +53,14 @@ export class MongooseCoreModule implements OnApplicationShutdown {
5353
const connectionProvider = {
5454
provide: mongooseConnectionName,
5555
useFactory: async (): Promise<any> =>
56-
await defer(async () =>
57-
mongooseConnectionFactory(
58-
mongoose.createConnection(uri, {
59-
useNewUrlParser: true,
60-
useUnifiedTopology: true,
61-
...mongooseOptions,
62-
}),
63-
mongooseConnectionName,
64-
),
65-
)
66-
.pipe(handleRetry(retryAttempts, retryDelay))
67-
.toPromise(),
56+
await lastValueFrom(
57+
defer(async () =>
58+
mongooseConnectionFactory(
59+
mongoose.createConnection(uri, mongooseOptions),
60+
mongooseConnectionName,
61+
),
62+
).pipe(handleRetry(retryAttempts, retryDelay)),
63+
),
6864
};
6965
return {
7066
module: MongooseCoreModule,
@@ -98,23 +94,22 @@ export class MongooseCoreModule implements OnApplicationShutdown {
9894
const mongooseConnectionFactory =
9995
connectionFactory || ((connection) => connection);
10096

101-
return await defer(async () =>
102-
mongooseConnectionFactory(
103-
mongoose.createConnection(mongooseModuleOptions.uri as string, {
104-
useNewUrlParser: true,
105-
useUnifiedTopology: true,
106-
...mongooseOptions,
107-
}),
108-
mongooseConnectionName,
109-
),
110-
)
111-
.pipe(
97+
return await lastValueFrom(
98+
defer(async () =>
99+
mongooseConnectionFactory(
100+
mongoose.createConnection(
101+
mongooseModuleOptions.uri as string,
102+
mongooseOptions,
103+
),
104+
mongooseConnectionName,
105+
),
106+
).pipe(
112107
handleRetry(
113108
mongooseModuleOptions.retryAttempts,
114109
mongooseModuleOptions.retryDelay,
115110
),
116-
)
117-
.toPromise();
111+
),
112+
);
118113
},
119114
inject: [MONGOOSE_MODULE_OPTIONS],
120115
};

0 commit comments

Comments
 (0)