function wireup() {
    newConn.client = _this.client;
    const _opts = {};
    if (options.hasOwnProperty('noListener')) {
      _opts.noListener = options.noListener;
    }
    newConn.db = _this.client.db(name, _opts);
    newConn._lastHeartbeatAt = _this._lastHeartbeatAt;
    newConn.onOpen();
  }
Switches to a different database using the same connection pool.

Returns a new connection object, with the new db. If you set the `useCache`
option, `useDb()` will cache connections by `name`.

**Note:** Calling `close()` on a `useDb()` connection will close the base connection as well.

@param {String} name The database name
@param {Object} [options]
@param {Boolean} [options.useCache=false] If true, cache results so calling `useDb()` multiple times with the same name only creates 1 connection object.
@param {Boolean} [options.noListener=false] If true, the new connection object won't listen to any events on the base connection. This is better for memory usage in cases where you're calling `useDb()` for every request.
@return {Connection} New Connection Object
@api public