Connector for MongoDB
The MongoDB connector is an interface used to import MongoDB’s schema-less BSON documents into a table schema that Panopticon can interpret and analyze. It uses many BSON structure types and MongoDB query features.
Steps:
1. Enter the following properties:
Property |
Description |
URL |
Enter either: · localhost if the database resides on the same computer, or · enter the IP address and port of the computer where MongoDB is installed (e.g., 192.168.1.1:27017). If no port is specified, the default is 27017. |
User Id |
The user Id if authorization is enabled for MongoDB. |
Password |
The password if authorization is enabled for MongoDB. |
Authentication DB |
The database where the user is created (default is admin). |
Database |
The database that will be used. |
Collection |
The collection that will be used. |
2. To make the Query Document feature of MongoDB available in Panopticon, select Use Query Document.
The Connector Settings pane updates to display the settings of this query option.
For the Method option, select any of the following values:
· Find (Default)
Allows you to fetch a document from a MongoDB collection.
Two more configurable settings are available:
¨ Sort
Provide a JSON object that defines the sort criteria, then set the order to either 1 for ascending or -1 for descending (e.g., {"address.building":1}).
¨ Projection
Provide a JSON object to include or exclude from the result of the Find query.
For example, if a document has 9 documents and you only need to display 5, you can either:
o select 5 JSON objects, then set the limit value to 1 to display
{"cuisine":1, "grades":1, "restaurant_id":1, "name":1, "borough":1}
o select 4 JSON objects then set the limit value to 0 to hide
{"address.zipcode":0, "address.coord":0, "address.street":0, "address.building":0}
NOTE |
_id field is always displayed while executing the Find method. You can opt to set this field to 0 to hide it (e.g., {"_id":0}). |
· Aggregate
Allows you to add all the columns generated by aggregation into the schema.
In addition, the MongoDB command line interface displays query operations with a JSON style syntax.
Enter your JSON query document. See http://docs.mongodb.org/manual/tutorial/query-documents/ for more information on the Query Documents feature on MongoDB.
For example, queries from the document look like this: db.inventory.find ( {type: "snacks"} ). The database and collection are already defined in the UI and the Find operation is handled in the code. You only need to enter the JSON query:
{"type":"snacks"}
For more advanced query, it must include surrounding curly braces as well as matching internal braces.
You can also opt to make the Query Document feature of MongoDB to be available in Panopticon.
Select Use Query Document in the Query Options drop-down list.
This also displays the Method drop-down. Select either Find (Default) or Aggregate.
When Aggregate is selected, you can add all the columns generated by aggregation in the schema.
In addition, the MongoDB command line interface displays query operations with a JSON style syntax.
Enter your desired JSON query document. Refer to http://docs.mongodb.org/manual/tutorial/query-documents/ for more information on the Query Documents feature on MongoDB.
For example:
Queries from the documentation look like this: db.inventory.find ( {type: "snacks"} ). The database and collection are already defined in the UI and the Find operation is handled in the code. The user only needs to enter the query document:
{ type : "snacks" }
For more advanced query, it must include surrounding curly braces as well as matching internal braces.
3. Instead of using Use Query Document, select the Parameterize query option.
Click Fetch Parameters to populate the Parameter drop-down and select a value. Then select what column to filter on in the Filter By drop-down.
4. Select either the dot (.) or comma (,) as the Decimal Separator.
5. Select the Data Type Discovery. This property specifies how many rows to fetch from the input data source, when auto generating the schema after clicking .
6. You can also opt to load or save a copy of the column definition.
7. Click . A new row displays in the JSON list box. Enter the necessary information for each column.
Property |
Description |
Name |
The column name of the source schema. NOTE: It is recommended to name the column the same as its JSON path for clarity and uniformity. |
JsonPath |
The JsonPath of the source schema. |
Type |
The data type of the column. Can be a Text, Numeric, or Time |
Structure |
Used for more advanced features and are covered in the Row-Wise Array Expansion, Column-Wise Array Expansion, and Bson-Wise Array Expansion sections. Value is the default structure and will always display data regardless of actual structure.
|
Column Count |
Enabled when Column-Expanded Array structure is selected. Enter the number of columns for the plugin to generate as columns for that array. |
Date Format |
The format when the data type is Time. NOTE: To parse and format times with higher than millisecond precision, the format string needs to end with a period followed by sequence of upper case S. There can be no additional characters following them. For example: yyyy-MM-dd HH:mm:ss.SSSSSS |
Enabled |
Determines whether the message field should be processed. |
To delete a column, check its or all the column entries, check the topmost , then click .
8. Date/Time values of output data and Date/Time inputs, where supported, is by default unchanged.
You can opt to define the Show in Timezone and Source Timezone settings.