From 9594c4b59f862e14e2cce1fa3b1d9f3448e5ea50 Mon Sep 17 00:00:00 2001 From: Diamond Lewis Date: Wed, 1 May 2019 00:44:10 -0500 Subject: [PATCH] Add useNewUrlParser options to GridFSBucketAdapter (#5548) * Add useNewUrlParser options to GridFSBucketAdapter * allow overriding default --- src/Adapters/Files/GridFSBucketAdapter.js | 13 +++++++++---- src/Adapters/Files/GridStoreAdapter.js | 14 ++++++++++---- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/Adapters/Files/GridFSBucketAdapter.js b/src/Adapters/Files/GridFSBucketAdapter.js index a4d8c3e6..a27de45a 100644 --- a/src/Adapters/Files/GridFSBucketAdapter.js +++ b/src/Adapters/Files/GridFSBucketAdapter.js @@ -14,17 +14,22 @@ import defaults from '../../defaults'; export class GridFSBucketAdapter extends FilesAdapter { _databaseURI: string; _connectionPromise: Promise; + _mongoOptions: Object; - constructor(mongoDatabaseURI = defaults.DefaultMongoURI) { + constructor(mongoDatabaseURI = defaults.DefaultMongoURI, mongoOptions = {}) { super(); this._databaseURI = mongoDatabaseURI; + + const defaultMongoOptions = { useNewUrlParser: true }; + this._mongoOptions = Object.assign(defaultMongoOptions, mongoOptions); } _connect() { if (!this._connectionPromise) { - this._connectionPromise = MongoClient.connect(this._databaseURI).then( - client => client.db(client.s.options.dbName) - ); + this._connectionPromise = MongoClient.connect( + this._databaseURI, + this._mongoOptions + ).then(client => client.db(client.s.options.dbName)); } return this._connectionPromise; } diff --git a/src/Adapters/Files/GridStoreAdapter.js b/src/Adapters/Files/GridStoreAdapter.js index aa5885fc..c5af4d8c 100644 --- a/src/Adapters/Files/GridStoreAdapter.js +++ b/src/Adapters/Files/GridStoreAdapter.js @@ -2,6 +2,7 @@ GridStoreAdapter Stores files in Mongo using GridStore Requires the database adapter to be based on mongoclient + (GridStore is deprecated, Please use GridFSBucket instead) @flow weak */ @@ -14,17 +15,22 @@ import defaults from '../../defaults'; export class GridStoreAdapter extends FilesAdapter { _databaseURI: string; _connectionPromise: Promise; + _mongoOptions: Object; - constructor(mongoDatabaseURI = defaults.DefaultMongoURI) { + constructor(mongoDatabaseURI = defaults.DefaultMongoURI, mongoOptions = {}) { super(); this._databaseURI = mongoDatabaseURI; + + const defaultMongoOptions = { useNewUrlParser: true }; + this._mongoOptions = Object.assign(defaultMongoOptions, mongoOptions); } _connect() { if (!this._connectionPromise) { - this._connectionPromise = MongoClient.connect(this._databaseURI).then( - client => client.db(client.s.options.dbName) - ); + this._connectionPromise = MongoClient.connect( + this._databaseURI, + this._mongoOptions + ).then(client => client.db(client.s.options.dbName)); } return this._connectionPromise; }