fix: GridFSBucketAdapter throws when using some Parse Server specific options in MongoDB database options (#9915)

This commit is contained in:
Manuel
2025-11-08 18:41:45 +01:00
committed by GitHub
parent 502a512028
commit d3d4003570
5 changed files with 53 additions and 28 deletions

View File

@@ -9,7 +9,7 @@
// @flow-disable-next
import { MongoClient, GridFSBucket, Db } from 'mongodb';
import { FilesAdapter, validateFilename } from './FilesAdapter';
import defaults from '../../defaults';
import defaults, { ParseServerDatabaseOptions } from '../../defaults';
const crypto = require('crypto');
export class GridFSBucketAdapter extends FilesAdapter {
@@ -34,10 +34,10 @@ export class GridFSBucketAdapter extends FilesAdapter {
.digest('base64')
.substring(0, 32)
: null;
const defaultMongoOptions = {
};
const defaultMongoOptions = {};
const _mongoOptions = Object.assign(defaultMongoOptions, mongoOptions);
for (const key of ['enableSchemaHooks', 'schemaCacheTtl', 'maxTimeMS', 'disableIndexFieldValidation']) {
// Remove Parse Server-specific options that should not be passed to MongoDB client
for (const key of ParseServerDatabaseOptions) {
delete _mongoOptions[key];
}
this._mongoOptions = _mongoOptions;