When connecting to data sources that returned data structured as documents (typically JSON or BSON), there are several ways to view the data. Instead of the regular grid, you get a panel that contains three different views, where you can choose the one that serves your purpose best.
TODO: Extend/replace screenshots
We should first settle on what sample data to use - current screenshots are placeholders.
Nested View
The nested view organizes the data in expandable column header groups based on the data structure. You can expand/collapse headers to focus on the data you are interested in.
Selecting a cell in the grid will show the details as a key-value tree representation in the right-hand panel. You have a few more options in addition to the features of the main tree view (described below):
- Scope
Choose if you want to see the entire row, all columns belonging to the same root column group, or all columns belonging to the closest singular column group. If you choose the closest group, the actual group varies with the structure; the root of the tree will be the closest column group that is not part of an array. - Auto Expand
You can choose to automatically expand the tree to show the level of the cell you selected. - Auto Filter
If you choose to filter on the selected cell, the tree will only show the cell you selected. If the cell is part of an array, you will see all occurrences of the cell.
Showing complex structures in the nested view may be slow since it places a heavy load on the algorithm for calculating row and column sizes.
You may have to confirm the action before opening this view on some data.
- A: click the view button to open the nested view
- B: double-click a group (or use the right-click popup menu) to expand/collapse the contents
- C: select a cell to see the details in the tree view at the right-hand side
- D: select a tree cell to see the data as text in the text panel below
- E: choose how to show collapsed containers in the details view (D)
- F: choose the scope of the details pane; the entire row, the entire column group, or the smallest part of the column group, and whether to auto-expand the tree to the level of the selected cell
- G: choose to see all data or to focus on the selected element only
Tree View
The tree view presents the data in a vertical fashion where each row represents an element. You can expand/collapse the rows, filter the contents of the tree, and choose how to present collapsed rows (blank, the size of contained elements, or the JSON string).
By selecting a cell in the tree, the details are presented in the text panel to the right;
- A leaf cell is presented as plain text and you can choose to word-wrap the text to make it readable.
- A container cell (a JSON structure) is automatically formatted based on the JSON syntax. You cannot word-wrap the formatted data.
In both cases, you can view the hexadecimal representation of the data.
Text View
The text view shows the raw data as returned by the database, one row for each document. You can choose to format the data based on JSON syntax.
A document data set is often larger than an average relational table; loading a complete data set may consume a lot of memory, and formatting/unformatting a large data set may be slow.