Skip to content

Commit 4b2c47e

Browse files
authored
Mongo DB null fix (#7)
* mongodb null fix * remove commented qpm() configuration
1 parent afdc547 commit 4b2c47e

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

src/adapters/datasources/datasource-mongodb.js

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,20 @@ const HIGHWATERMARK = 50
66

77
const mongodb = require('mongodb')
88
const { MongoClient } = mongodb
9-
const { Transform, Writable } = require('stream')
10-
const qpm = require('query-params-mongo')
11-
const processQuery = qpm()
12-
// const processQuery = qpm({
13-
// autoDetect: [{ fieldPattern: /_id$/, dataType: 'objectId' }],
14-
// converters: { objectId: mongodb.ObjectId }
15-
// })
16-
17-
const url = process.env.MONGODB_URL || 'mongodb://localhost:27017'
18-
const configRoot = require('../../config').hostConfig
9+
const { DataSourceMemory } = require("./datasource-memory")
10+
const { Transform, Writable } = require("stream")
11+
const qpm = require("query-params-mongo")
12+
const processQuery = qpm({
13+
autoDetect: [
14+
{ valuePattern: /^null$/i, dataType: 'nullstring' }
15+
],
16+
converters: {
17+
nullstring: val=>{ return { $type: 10 } } // reference BSON datatypes https://www.mongodb.com/docs/manual/reference/bson-types/
18+
}
19+
})
20+
21+
const url = process.env.MONGODB_URL || "mongodb://localhost:27017"
22+
const configRoot = require("../../config").hostConfig
1923
const dsOptions = configRoot.adapters.datasources.DataSourceMongoDb.options || {
2024
runOffline: true,
2125
numConns: 2
@@ -266,7 +270,7 @@ export class DataSourceMongoDb extends DataSource {
266270

267271
processOptions (param) {
268272
const { options = {}, query = {} } = param
269-
return { ...options, ...processQuery(query) }
273+
return { ...processQuery(query), ...options } // options must overwite the query not otherwise
270274
}
271275

272276
/**

0 commit comments

Comments
 (0)