Read-only views
Hackolade Studio support the creation, documentation, and maintenance of views for a variety of targets that support the concept: MongoDB, Cassandra, Hive, Snowflake, RDBMS, etc.. The support of views varies of course depending on target's capabilities. Some support materialized views, others not. Some support joins across multiple entities, which others limit views to a single one. You should refer to the respective documentation of the target technology concerned, for the specific implementation details. While the rest of this page uses MongoDB as an example, you can transpose most of the concept to other targets.
Starting with version 3.4, MongoDB added support for the creation of read-only views from existing collections or other views. Views use indexes of the underlying collection. Views are computed on demand during read operations, and MongoDB executes read operations on views as part of the underlying aggregation pipeline. Views are considered sharded if their underlying collection is sharded. More info can be found here.
In Hackolade, views constitute another type of object in the Entity Relationship Diagram, alongside collections.
They are visually distinguished by the dotted-line box plus the icon in the top left corner. As per MongoDB's capabilities, a view is based on a particular collection, with the ability to create joins to other collections via the $lookup function. The capability to build views on top of other views is not currently supported.
Define a simple view
To build your new view, you add fields by picking existing ones from the collection. Right click on the the root box in the hierarchical schema view to get the contextual menu, then select 'Pick from field list':
A dialog containing all the fields of the underlying collection lets you pick the field you want to include (multiple selections will be added at a later time.)
A corresponding box is added to the hierarchical schema:
At the same time, a pipeline expression is dynamically generated to represent the fields in the view: