Today, we are incredibly pleased to announce the release of NoSQLBooster 6.0. It brings many new features to improve the productivity of MongoDB'ers, tasks and task scheduler, command-line interface, Golang, PHP and Ruby added to query code, ESNext features optional chaining and nullish coalescing, mark types with colors, greatly improved table view, one-click projection, add date time to export file path, favorites feature and more.
If you want to try NoSQLBooster 6.0 out now, you can get it from the following link.
NoSQLBooster 6.0 Download Link
The product will automatically enter the 30-day trial mode after a successful installation. At the end of the 30-day trial period, the product becomes a free edition. The free version is free for personal/commercial use but with limited functions.
The following figure shows the main interface of version 6.0.
Let's dive in and get an overview of what's coming in NoSQLBooster 6.0!
Although we are showing screenshots of NoSQLBooster for Windows, all these new features are available for Mac OS X and Linux as well.
What's new?
- Tasks and task scheduler
- NoSQLBooster command-line interface (nbcli)
- ESNext features, optional chaining, and nullish coalescing
- Golang, PHP and Ruby added to query code converter
- Enhanced data view
- Favorites Feature
- SQL query improvements
- Other Notable Improvements
- Minor improvements and bugfix
- Patch Releases
Tasks and task scheduler
NoSQLBooster tasks allow you to define, save, and perform different tasks, including query scripts, imports, exports, data migration, and backup and restoration. Task Scheduler lets you define tasks that execute on a one-time basis or a recurring schedule that you specify. It supports tasks that perform daily, weekly, or monthly, and you can choose the day(s) of the week or month when you want each task to execute.
NoSQLBooster does not need to run at the scheduled time to run any scheduled tasks. In windows systems, NoSQLBooster uses the Windows Task Scheduler to perform routine tasks automatically. While in MacOS and ubuntu, cron is used to manage and execute scheduled tasks.
NoSQLBooster supports the following types of tasks.
- Run MongoDB Script File (As NoSQLBooster allows you to use 3rd party node modules, the functionality of this script is extensible and flexible)
- Import from JSON and BSON files...
- Import Tables from MySQL, PostgreSQL, and MSSQL...
- Restore MongoDB Databases (mongorestore)
- Export Collection/Query to JSON, BSON, CSV|TSV and SQL
- Export Database to JSON, BSON, CSV|TSV, and SQL
- Backup MongoDB Databases (mongodump)
The task view allows you to view all scheduled tasks at a glance easily.
For Windows User, You can find the tasks generated by NoSQLBooster in the URI "Task Scheduler(local)\Task Scheduler Library\NoSQLBooster\MongoDB\".
NoSQLBooster command-line interface (nbcli)
This nbcli is a simple command-line interface for NoSQLBooster. It allows you to run javascript or SQL query statement, javascript file, and NoSQLBooster tasks in terminal or integrate NoSQLBooster into your continuous development. This nbcli supports all NoSQLBooster shell extensions, SQL Query, fluent Query API, 3rd party library (lodash, momentjs ...) and Node.js modules installed under user data directory (Menu-> Help-> Open User Data directory)
To start nbcli, click "Menu -> Tools -> Open NoSQLBooster Command Line ...", you can use "Menu -> Options -> Add Command Line to path..." to add nbcli to user's PATH.
To be clear, nbcli is not a REPL (Read Evaluate Print Loop) tool.
ESNext features, optional chaining, and nullish coalescing
NoSQLBooster embraces the new features of ESNext. Version 6.0 adds two new features, optional chaining and nullish coalescing, which are very handy.
Optional chaining
The optional chaining (?.) lets us write code where we can immediately stop running some expressions if we run into a null or undefined. You might find yourself using ?. to replace a lot of code that performs repetitive nullish checks using the && operator.
// Before
if (foo && foo.bar && foo.bar.baz) {
// ...
}
// After-ish
if (foo?.bar?.baz) {
// ...
}
Nullish coalescing
The nullish coalescing operator (??) is a logical operator that returns its right-hand side operand when its left-hand side operand is null or undefined and otherwise returns its left-hand side operand.
The ?? operator can replace uses of || when trying to use a default value.
const foo = null ?? 'default string';
console.log(foo);
// expected output: "default string"
const baz = 0 ?? 42;
console.log(baz);
// expected output: 0
Golang, PHP and Ruby added to query code converter
The MongoDB query converter now supports Golang, PHP, and Ruby in addition to Node.js, Java, Python, C #, and mongo shell languages.
Enhanced data view
Mark types with colors
Give different colors to different types, making the data easier to identify and view. If this looks a little too flashy, you can use the option "Menu -> Options -> Output Panel -> Mark Types with Colors" to turn it off.
Greatly improved table view
Table-View | In-place edit
In addition to the tree open view, you can now double-click to open the edit-in-place text control to edit and submit content in the table view.
Table-View | Column chooser
The newly designed column chooser can easily select fields or embedded fields. You can also see that more functions have been added in the header context menu of the table.
After selecting the fields, you can also use the right-click menu to save the query results view as a MongoDB read-only view (Include Visible Columns or Exclude Hidden Columns)
Table-View | Column-moving and freeze columns
To move a column, just drag the column's header to the desired position. You can also drag the column to the frozen zone to freeze some fields so that they do not scroll out of view. The _ id field is located in the frozen zone by default.
One-click projection and One-click sorting
In addition to one-click filtering and one-click grouping, one-click projection and one-click sorting have been added in version 6. One-click projection allows you to easily select several fields in the results view and form a new query. One-click sorting can re-sort the chosen fields in ascending and descending order. All one-click features support embedded fields.
Tooltip Improvements
Informative tooltips are getting better now. You can press the "p" key to view JSON array and objects, multiple lines of text, URL pages, pictures, and geographic location information.
Favorites Feature
The favorites feature is used to tag database objects and bookmark scripts, providing you with one-click access. Favorites can be accessed through the favorites item in the main menu.
- To add a database object to the favorites, select the item in the Databases object tree, click Menu->Favorites, or use the "Add to Favorites" right-click menu operation for the database object.
- To add a query script to the favorites, please double-click to open this script from the "My Queries" tree, then click Menu->Favorites to bookmark query script or use the "Add to Favorites" right-click menu operation for the query script from the "My Queries" tree
SQL query improvements
In this version, we removed the restrictions on SQL JOIN and subquery statements in the free version and added a dozen SQL snippets. For example, SQL-like, SQL-GroupBy, SQL-DateRange, SQL-Between, etc.
Other Notable Improvements
Add date time to export file path
When exporting MongoDB collection or backing up the database regularly, you may want to add the DateTime to the export file path (e.g.,/exports/backup_yyyy_mm_dd.csv) ). The DateTime variable (e.g., %%YYYY_MM_DD%%%) has been added to NoSQLBooster 6, so you can easily append DateTime to the export path. NoSQLBooster uses moment.js to format date and time. For more formatting, see the moment.js website.
Export non-cursor objects
NoSQLBooster V6 allows you to export non-cursor data, includes normal javascript arrays or objects. e.g: db.xxx.find().toArray() or db.xxx.findOne().
Save/Restore Workspace Improvements
In previous versions, only one connection and one tab could be restored. There is no such restriction in V6. NoSQLBooster V6 can ultimately save and restore the working space, including all connections and tabs.
New AggregationCursor.pushStage method
NoSQLBooster supports mongoose-like fluent query builder API that enables you to build up a query using chaining syntax. All aggregation stage operators in the current version of MongoDB (4.2) have corresponding chainable methods. Considering that MongoDB continues to add aggregation stage operators, we have added this "pushStage" method in this release to be compatible with the possible future stage operators.
db.movieDetails.aggregate()
.match({type:"movie"})
.pushStage({$limit:5}) //pushStage() method appends the given stage in the last of the pipelines
//equal to
db.movieDetails.aggregate()
.match({type:"movie"})
.limit(5)
//or, the equivalent MongoDB JSON-like Query
db.movieDetails.aggregate([
{ $match: {type:"movie"}},
{$limit: 5}
])
Minor improvements and bugfix
- Upgrade MongoDB Node.js driver to 3.5
- Upgrade major dependencies electron to 7.x, Chrome v78, Node v12.8, and V8 v7.8
- Support Ed25519 keys for SSH tunnels authentication
- Support MySQL 8 default authentication (caching_sha2_password)
- In the tree/table view, press "CMD+PageDown" to go to the next page and "CMD+PageUp" to go to the previous page
- Add "Tools" item to the main menu which is quickly linked to a bunch of built-in tools
Patch Releases
Version 6.0.1-6.0.2
Bugfix
- Added, an option to adjust the maximum number of sub-columns allowed by the column group in the table view, and when the subfield exceeds the threshold, it will be displayed as a normal object field. Menu Options-> Output Panel -> Table View: Max Column Len of the Column Group.
- Improved, prompts the user to save unsaved tab contents when closing the tab. Menu Options ->Warning Message -> Prompt User to Save Unsaved Tab Content.
- Fixed, an error in parsing MongoDB+Srv URI authSource default values.
- Fixed, SQL parsing error when SQL like included the special character "/".
- Fixed, a bug that caused the export dialog to be obscured and inoperable when the main window was too small.
Version 6.0.3
Bugfix
- Fixed, When the mongo tools path contains special character "space", the mongo tools(mongoimport/mongoexport/mongodump/mongorestore) will not be able to locate.
Version 6.0.4
Bugfix
- Fixed, when index details are displayed, the index keys are displayed incorrectly in alphabetical order rather than in natural order.
- Fixed, SQL like, not like parsing error, needs to escape regular expression strings.
Version 6.0.5
- Improved, allow connection to MongoDB server 4.4.0.
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.