SYMPTOM:
When using MongoDB as a data warehouse in Strategy 11.0 and higher, if collections (tables) are updated in MongoDB, these changes are not reflected when the tables are viewed in a Strategy project/application.
Steps to reproduce:
1. Create a MongoDB connectionusing the Strategy ODBC Driver for MongoDB.
2. Use this ODBC connection to add new data to a Strategy project/application. Add the MongoDB collections (seen as tables) in the Strategy project/application.
3. In MongoDB, add a new field in an existing collection (similar to add a new field in an existing table) that is currently used in a Strategy project/application.
4. In MongoDB, add a new collection (similar to add a new table)
5. In MongoDB, in an existing collection, add a new dupla (similar to add new row to a table)
6. In the Strategy project/application, the new fields and collections created in MongoDB will not be reflected in the existing ODBC connection. The new dupla (row) will be available.
Expected Result:
1. New fields in existing collections (seen in Strategy as tables) should be available via the ODBC connection.
2. New collections (similar to add a new table) should be available via the ODBC connection.
CAUSE:
For Mongodb, when creating a DSN, we have to define a schema path in the DSN configuration where all the MongoDB related properties, table mapping and data are stored. When testing the ODBC DSN connectivity for the first time, this information would be written into the locally embedded schema. It will not get refreshed automatically the next time the connectivity is established.
For example, lets define the schema path on Windows OS to c:\mongodb\eat_wh1. Using this example, the table mapping information will be created on the first connection in a file c:\monfodb\eat_wh1.MONGODB.MAP
Consequently, after the first time of connectivity, all the existing tables(collections) and columns (fields) are mapped locally, even if new collection/field are updated in Mongodb server side, it will not get refreshed and Strategy 10 can only read the old ones.
ACTION:
After the initial DB is created, if any changes are made they will not be reflected until a REFRESH MAP statement is issued.
The REFRESH MAP statement adds newly discovered objects to your relational view of native data. It also incorporates any configuration changes made to your relational view by reloading the schema definition and associated files.
KB482926