NoSQLBooster 6.2 Released! One-Click Export to Excel

We're so proud to release NoSQLBooster for MongoDB 6.2 today. This version includes one-click export to XSLX and view as spreadsheet in Excel, object Explorer multiple selection operations, importing CSV files, and other ease-of-use improvements and bug fixes.

Export and Import Enhancement

This version brings several enhancements to import and export, One-Click Export to XSLS, Import CSV Files and Preprocess Imported/Exported Data(transformer).

One-Click Export to XSLS and View as Spreadsheet in Excel

No popup dialog box settings, set various export options, then click execution. The new "One-Click Export to XSLS" feature makes the entire export process quite easy, click Excel icon on toolbar, query results are exported and opened in Excel, now you can continue working with this data within Excel. Note that a XLSX worksheet can contain up to 1,048,576 rows of 16384 columns.

Click the new excel icon in the toolbar

One-Click Export to XSLS

View as spreadsheet in Excel

View as Spreadsheet in Excel

Import CSV File

The 6.2 version allows you to import csv files and automatically distinguish the delimiters and quote char of csv files. It provides dynamic typing functionality that converts numeric, date, boolean, and array data to their types instead of the remaining strings.

Import CSV

Preprocess Imported/Exported Data(transformer)

In this version, we have greatly simplified the template code for import and export, and the import and export function now requires only one function. Although the code has become very simple, customization is still powerful, and we now have a parameter called transformer that allows pre-processing of imported and exported data.

Here is an example of exporting query results to a JSON file. In transformer, we added a field called exportDate to the exported document. The "transformer" returns a plain object or Promise (object), if return null skips this doc.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const params = {
filepath: "C:\\temp\\export-data\\little-book.unicorns.json",
connection: "localhost",
db: "little-book",
type: "json",
fields: [],
batchSize: 2000,
//Use the transformer to customize the export result
transformer:(doc)=>{ //async (doc)=>{
doc["exportDate"]= new Date();
return doc; //return null skips this doc
},
};
params.queryScript = `db.unicorns.find({})
.sort({ "_id" : -1 })
.limit(11)`;

mb.exportQueryToFile(params);

The following is an example of importing a csv file into a collection. In transformer, we added a field named importDate to the imported document.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const contents = [
{
content: "C:\\temp\\import-test\\company\\companies.csv",
collection: "companies",
idPolicy: "overwrite_with_same_id", //overwrite_with_same_id|always_insert_with_new_id|insert_with_new_id_if_id_exists|skip_documents_with_existing_id|abort_if_id_already_exists|drop_collection_first|log_errors
//Use the transformer to customize the import result
transformer: (doc)=>{ //async (doc)=>{
doc["importDate"]= new Date()
return doc; //return null skips this doc
}
}
];

mb.importContent({
connection: "localhost",
database: "test",
fromType: "file",
batchSize: 2000,
contents
})

Other Ease-of-use improvements

Object Explorer Multiple Selection Operations

Object Explorer can use "CTRL" and "Shift" keys to select multiple items, and when it is in a multi-select state, the context menu provides some relevant operations depending on the type of selected node.

The following figure shows the context menu in the multi-selected state of the Collection node. Unlike "Drop Collection", "Clear Collection" deletes all documents in the collection, but does not delete the collection itself, nor does it delete its indexes.

Multi-select Collection Node

Convert Field Type

The "convert Field Type" menu item has been added to the right-click menu in the tree view to convert the type of the selected field to the target type. This feature uses "$convert" operator and aggregation pipeline parameter, requires MongoDB server version 4.2 or above. At the same time, we have added a code template called "convertFieldType", which can be used directly in the script editor.

Convert Field to the Right-Click Menu

Minor Improvements and Bugfix

  • Improved, upgrade MongoDB Node.js driver to the latest 3.6.3.
  • Improved, embedded MongoDB Shell to 4.4.1.
  • Improved, parse/format TLS options in MongoDB Connection String URI.
  • Improved, the "capped"/"sharded" status is displayed in the subtitle of the collection node.
  • Added, "Test Connection" button to the main connections dialog.
  • Added, "Copy Report to Clipboard" button to "Test Connection" dialog.
  • Fixed, update dependency to resolve remote memory exposure in the "bl" module.
  • Fixed, a few high/critical vulnerabilities.
  • Fixed, an issue where the passwordDigestor option of the method "db.createUser()" did not work.
  • Fixed, an exception due to invalid MongoDB Server Semantic Versioning (e.g. 5.1.14.1)

Patch Releases

Version 6.2.1

  • Fixed, a killOp MongoError: Expected field "op" to have a numeric type, but a found string.
  • Fixed, a single member of a replication set that opens directly on object explorer sometimes does not work properly.
  • Fixed, when the collection names is long it wraps the name in the column field in the export dialog.

Version 6.2.2-6.2.3

  • Fixed, exception occurred when exporting to csv, "Exceeds the maximum number of rows allowed by excel sheet ...".
  • Fixed, a regression error, set the default value of the ssl option sslValidate back to false.
  • Improved, optimize the operation performance of deleting a large number of data rows in table view.

Version 6.2.4

  • Fixed, the database selector drop-down menu can only select up to 50 databases.
  • Fixed, "db.currentOp()" and "db.killop()" does not work with MongoDB server 3.0.15.
  • Fixed, add a $ownOps:true filter to the internal getCurrentOp method to resolve the permission issue.
  • Improved, Enhance the implementation of connection pool to better support simultaneous queries.

Version 6.2.5

  • Fixed, when querying a task, task manager(schtasks.exe) for non-English version of windows will raise an error.
  • Fixed, even if ignored, the renewal warning dialog box will be forced to pop up.
  • Improved, when using MongoDB URI for fast connection, duplicate name checking has been added to ensure that the connection name is unique.
  • Improved, enhanced document viewer and field value editor that allows you to maximize, drag, and limit the left and upper boundaries of the container
  • Changed, for non-registered users, the export function is limited to a maximum of 10000 documents.

Version 6.2.6

  • Fixed, a SQL Export regression error, the table name is displayed as "undefined" when exporting collection to a SQL file.

Version 6.2.7

  • Fixed, a connection regression error, fast connection with MongoDB URI does not work in some cases.

Version 6.2.8

  • Fixed, GridFS upload error, when the size of the uploaded file is less than 256k, the null characters are incorrectly filled.

Version 6.2.9

  • Fixed, Tree/Table View - Copy and export ObjectId's by just their value.
  • Fixed, Code generator - fix database name issue.
  • Fixed, Connection Tree - the multi-selection state is sometimes confused so that the object cannot be opened when the tree node is double-clicked.
  • Improved, Tree View - Keyboard shortcuts have been added, press Return to edit in place, and press Alt+Down to pop up the details editor.

Version 6.2.10

  • Fixed, Sub documents that include the _ id field cannot be displayed in table view.
  • Fixed, The function of dumping all databases in the connection does not work.
  • Fixed, Popup-Editor - After saving, the JSON- string containing special characters (\n) or (\r) is corrupted.

Version 6.2.11

  • Fixed, a CSV export column shift error.
  • Fixed, importing using mongorestore will create an invalid MongoDB URI (required / before querying parameters).
  • Improved, enable copying LUUID text from contextual menu instead of only BinData.
  • Improved, allows you to use the keyboard "down" key or "alt+down" to pop up the drop-down list.
  • Improved, turn on the "CopyWithEmptySelection" option in the editor, allowing you to copy/cut the current line with empty selection.
  • Improved, document viewer reload feature that forces retrieval and refresh from the server when the "Reload" button is clicked.

Version 6.2.12

  • Improved, schema analyzer - the execution efficiency of schema analyzer is greatly improved, and the memory usage of big collection full table scan is also greatly reduced.
  • Added, How to turn off Hardware Acceleration? Menu Options -> Options That May Affect Performance -> Disable Hardware Acceleration.
  • Fixed, Add the missing global variable "Buffer".

Version 6.2.13

  • Fixed, schema analyzer - an "combine result" exception when the size of collection is exactly an integer multiple of 1000.
  • Fixed, value editor - no horizontal scrollbar issue in some cases.
  • Fixed, pasted multi-line scripts may cause code completion to fail in windows systems.

Version 6.2.14

  • Added, support MONGODB-AWS Authentication (require commercial license).
  • Improved, field type conversion - support array nested elements and _ id field.
  • Improved, task manager - allow you to edit tasks where the database connection is no longer valid.
  • Improved, typing definition for aggregationCursor.out() and aggregationCursor.merge() method.

Version 6.2.15

  • Fixed, bug where binary type would be incorrectly formatted as UUID when exported to excel XSLX file.
  • Fixed, error in adding duplicate log information.
  • Fixed, several spelling mistakes.

Version 6.2.16

  • Fixed, the authentication error of the SSH connection could not be displayed.
  • Fixed, in some cases the context of the database is incorrect after restarting and restoring the workspace.
  • Fixed, the progress percentage is displayed incorrectly when exporting the selected records.

Version 6.2.17

  • Improved, Support for connecting to MongoDB 5.0.
  • Fixed, UI freeze error occurs when there are thousands of databases in the code editor's database drop-down list.

Thank you!

Please visit our feedback page or click the “Feedback” button in the app. Feel free to suggest improvements to our product or service. Users can discuss your suggestion and vote for and against it. We’ll look at it too.