Our driver provider (Simba) has confirmed that the driver currently does not support this feature. The queries performed in Qlik Sense will not be passed down to the MongoDB server, but the filtering will occur in Qlik sense meaning that the query performance will suffer from this limitation.
Qlik has requested the addition of this feature into the driver and Simba is currently working on the feasibility analysis.
Any updates regarding this feature will be provided in this Knowledge base article.
Query example:
SELECT * FROM testDB
where "test_day" LIKE '2020-03-30%'
Database example:
[{
"test": {
"day": "2020-03-30T00:00:00.000Z",
"window": {
"title": "Sample",
"name": "test",
"width": 500,
"height": 500
},
"image": {
"src": "test.png",
"name": "test",
"hOffset": 250,
"vOffset": 250,
"alignment": "center"
},
}
}]
Update:
Simba is currently implementing this feature into the driver. The filter will only be applied at level 1 of nested tables, meaning that nested tables with more than 1 level won't be supported.
As an example, the following query won't be supported on this newer driver version.
[
_{id: 2,
array: [
[ { inner_array: [ { obj: { c1: 'a', c2: 'b' } } ] }, { inner_array: [ { obj: { c1: 'c', c2: 'd' } } ] } ]
]
}
]
query: select * from collection_array_dim2_inner_array where c1 LIKE 'a%'
Environment
- ODBC package - any version
Workaround:
The filter is correctly applied in Qlik sense, meaning that the issue will only affect the query performance.
Cause
Product Defect ID: QB-7033