The Simba MongoDB JDBC driver creates virtual tables if the column family contains collections such as arrays and objects.
Virtual tables depict the renormalized view of a MongoDB collection. You can use virtual tables as sources and targets in mappings.
The Simba MongoDB JDBC driver creates a virtual table for each collection in the column family. The virtual table for a collection uses the following naming convention by default: <original column family name>_<original collection name>
Each virtual table has a foreign key column that references back to the primary key column in the original collection. The key column uses the following naming convention by default: <original collection name>.<primary key column name>
The virtual table has an index column that shows the position of the data within the original array. The index column uses the following naming convention by default: <original column name>_index
Other columns in the virtual table represent the elements in the array and are named after the array element. If the array is of scalar type, the data column uses the following naming convention by default: <original column name>_value
When you use a virtual table in a mapping, you can perform read, insert, and update operations on a virtual table.
Note: You cannot perform upsert or delete operation on a virtual table.
Virtual tables example
The collection CustomerTable contains arrays. You want to create virtual tables from the arrays and import the virtual tables as data objects in Informatica Cloud.
The following table shows the schema of CustomerTable collection: