diff --git a/src/adapters/datasources/datasource-mongodb.js b/src/adapters/datasources/datasource-mongodb.js index 71b0f62f..148f777d 100644 --- a/src/adapters/datasources/datasource-mongodb.js +++ b/src/adapters/datasources/datasource-mongodb.js @@ -8,11 +8,15 @@ const mongodb = require('mongodb') const { MongoClient } = mongodb const { Transform, Writable } = require('stream') const qpm = require('query-params-mongo') -const processQuery = qpm() -// const processQuery = qpm({ -// autoDetect: [{ fieldPattern: /_id$/, dataType: 'objectId' }], -// converters: { objectId: mongodb.ObjectId } -// }) +//const processQuery = qpm(); +const processQuery = qpm({ + autoDetect: [ + { valuePattern: /^null$/i, dataType: 'nullstring' } + ], + converters: { + nullstring: val=>{ return { $type: 10 } } // reference BSON datatypes https://www.mongodb.com/docs/manual/reference/bson-types/ + } +}) const url = process.env.MONGODB_URL || 'mongodb://localhost:27017' const configRoot = require('../../config').hostConfig @@ -266,7 +270,7 @@ export class DataSourceMongoDb extends DataSource { processOptions (param) { const { options = {}, query = {} } = param - return { ...options, ...processQuery(query) } + return { ...processQuery(query), ...options } // options must overwite the query not otherwise } /**