diff --git a/types/mongoose/index.d.ts b/types/mongoose/index.d.ts index 29b91902c2..559804c0f0 100644 --- a/types/mongoose/index.d.ts +++ b/types/mongoose/index.d.ts @@ -542,6 +542,12 @@ declare module "mongoose" { getIndexes(): any; } + interface ConnectionUseDbOptions { + /** + * If true, cache results so calling `useDb()` multiple times with the same name only creates 1 connection object. + */ + useCache?: boolean; + } /* * section drivers/node-mongodb-native/connection.js * http://mongoosejs.com/docs/api.html#drivers-node-mongodb-native-connection-js @@ -550,9 +556,10 @@ declare module "mongoose" { /** * Switches to a different database using the same connection pool. * @param name The database name + * @param options Additional options * @returns New Connection Object */ - useDb(name: string): Connection; + useDb(name: string, options?: ConnectionUseDbOptions): Connection; startSession(options?: mongodb.SessionOptions, cb?: (err: any, session: mongodb.ClientSession) => void): Promise; diff --git a/types/mongoose/test/mongoose.ts b/types/mongoose/test/mongoose.ts index df81918f0e..9ff5fb5295 100644 --- a/types/mongoose/test/mongoose.ts +++ b/types/mongoose/test/mongoose.ts @@ -174,6 +174,9 @@ conn1.name.toLowerCase() conn1.host.toLowerCase() conn1.port.toFixed() conn1.useDb('myDb').useDb(''); +conn1.useDb('myDb').useDb('', {}); +conn1.useDb('myDb').useDb('', {useCache: false}); +conn1.useDb('myDb').useDb('', {useCache: true}); mongoose.Connection.STATES.hasOwnProperty(''); mongoose.Connection.STATES.disconnected === 0; mongoose.Connection.STATES.connected === 1;