Skip to content

Commit 2bd95e3

Browse files
authored
Add useNewUrlParser options to GridFSBucketAdapter (parse-community#5548)
* Add useNewUrlParser options to GridFSBucketAdapter * allow overriding default
1 parent 0154135 commit 2bd95e3

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

src/Adapters/Files/GridFSBucketAdapter.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,22 @@ import defaults from '../../defaults';
1414
export class GridFSBucketAdapter extends FilesAdapter {
1515
_databaseURI: string;
1616
_connectionPromise: Promise<Db>;
17+
_mongoOptions: Object;
1718

18-
constructor(mongoDatabaseURI = defaults.DefaultMongoURI) {
19+
constructor(mongoDatabaseURI = defaults.DefaultMongoURI, mongoOptions = {}) {
1920
super();
2021
this._databaseURI = mongoDatabaseURI;
22+
23+
const defaultMongoOptions = { useNewUrlParser: true };
24+
this._mongoOptions = Object.assign(defaultMongoOptions, mongoOptions);
2125
}
2226

2327
_connect() {
2428
if (!this._connectionPromise) {
25-
this._connectionPromise = MongoClient.connect(this._databaseURI).then(
26-
client => client.db(client.s.options.dbName)
27-
);
29+
this._connectionPromise = MongoClient.connect(
30+
this._databaseURI,
31+
this._mongoOptions
32+
).then(client => client.db(client.s.options.dbName));
2833
}
2934
return this._connectionPromise;
3035
}

src/Adapters/Files/GridStoreAdapter.js

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
GridStoreAdapter
33
Stores files in Mongo using GridStore
44
Requires the database adapter to be based on mongoclient
5+
(GridStore is deprecated, Please use GridFSBucket instead)
56
67
@flow weak
78
*/
@@ -14,17 +15,22 @@ import defaults from '../../defaults';
1415
export class GridStoreAdapter extends FilesAdapter {
1516
_databaseURI: string;
1617
_connectionPromise: Promise<Db>;
18+
_mongoOptions: Object;
1719

18-
constructor(mongoDatabaseURI = defaults.DefaultMongoURI) {
20+
constructor(mongoDatabaseURI = defaults.DefaultMongoURI, mongoOptions = {}) {
1921
super();
2022
this._databaseURI = mongoDatabaseURI;
23+
24+
const defaultMongoOptions = { useNewUrlParser: true };
25+
this._mongoOptions = Object.assign(defaultMongoOptions, mongoOptions);
2126
}
2227

2328
_connect() {
2429
if (!this._connectionPromise) {
25-
this._connectionPromise = MongoClient.connect(this._databaseURI).then(
26-
client => client.db(client.s.options.dbName)
27-
);
30+
this._connectionPromise = MongoClient.connect(
31+
this._databaseURI,
32+
this._mongoOptions
33+
).then(client => client.db(client.s.options.dbName));
2834
}
2935
return this._connectionPromise;
3036
}

0 commit comments

Comments
 (0)