Announcing NoSQLBooster 5.0 RC!

NoSQLBooster 5.0 is almost out, and today we’re happy to show just how close we are with our release candidate! We’re looking to get any feedback from this RC to successfully ship NoSQLBooster 5.0 properly, so if you’d like to give it a shot now, you can get the RC from the following links.

Note that the license key of 4.0 is not applicable to 5.0, the product will automatically enter the 30-day trial mode after successful installation. At the end of the 30-day trial period, the product becomes a free edition. The free edition is free for personal/commercial use but with limited functions.

The following figure shows the main interface of version 5.0.

Main interface

Let’s dive in and get an overview of what’s coming in NoSQLBooster 5.0!

What’s new?

“My Queries/Samples” pane

In version 5.0, the most significant change in the UI interface was the addition of “My Queries / Samples” Pane. The “My Queries / Samples” pane has two tabs, “My Queries” and “Samples.”

The “My Queries” tab is used to open user-saved query scripts quickly. By default, the user-saved query script is saved as a “connection -> database -> query name” directory structure. Double-click to open a saved query script will automatically connect to the appropriate database server and switches to the appropriate database.

The “Sample” tab includes several NoSQLBooster-Enabled tutorials. All samples are executable in NoSQLBooster already, with detailed descriptions. You can try these queries and change them to learn better.

Samples tab

Visual explain plan

NoSQLBooster’s Visual Explain transforms explain output into a hierarchical view of the query plan, which is significantly easier to read and understand, allowing for query tuning to enhance query and resolve performance issues.

Visual explain

SQL joins and uncorrelated sub-queries

MongoDB 3.2 introduced the new $lookup operator. The $lookup operator added to the aggregation pipeline is essentially identical to a left outer SQL join. MongoDB 3.6 further enhances the capabilities of the $lookup operator to perform uncorrelated sub-queries between two collections as well as allow other join conditions besides a single equality match. NoSQLBooster 5.0 implements SQL Equi join and unrelated queries with the power of the $lookup operator.

NoSQLBooster supports INNER JOIN and LEFT JOIN, OUTER JOIN is not supported.

  • (INNER) JOIN: Returns records that have matching values in both tables
  • LEFT JOIN: Return all records from the left table, and the matched records from the right table

It should be mentioned that there is a tutorial on NoSQLBooster SQL Query for MongoDB in the lower left “Samples” pane. With this tutorial, you can learn and understand how to use NoSQLBooster SQL Query for MongoDB. Better yet, all SQL Functions provide the appropriate code snippets and mouse hover information and support code completion.

SQL Equi join

Monitoring tools

In version 5.0, we add several server monitoring and diagnostics tools and consolidate all monitoring related work into a drop-down menu called “Monitoring.”

Monitoring drop menu

In-progress operations viewer

When your MongoDB is unresponsive, you need to determine the cause quickly. Although there can be many causes for server unresponsiveness, we sometimes find that exceptionally long running operations and/or blocking operations are the culprits. The new “In-progress operations” tool integrates the currentOp() and killOp() commands and allows you to find and kill long running MongoDB operations quickly.

The db.currentOp() command reports in-progress operations for the mongod instance.

In-progress operations viewer

MongoDB log parser

This feature includes two MongoDB log viewers, one for parsing and displaying the most recent 1024 logged MongoD events, and the other for parsing and displaying external MongoDB log files. This tool will parse the log quickly and output general information about its contents, including timestamp, severity, component, context and command specific messages. It also allows you to save parsed log entries to MongoDB’s collection so that you can further analyze and query the logs using MongoDB’s find method.

MongoDB log parser

Database profiler

This simple feature will display the database profiler logs information about database operations in “system.profile” collection. The profiler is off by default. You can enable the profiler on a per-database or per-instance basis at one of several profiling levels. By default, the slow operation threshold is 100 milliseconds.

Click here to learn how to manage the database profiler? (Official documentation for MongoDB)

Troubleshoot replica sets

This feature is a partial implementation of each of the functions mentioned in this official document for MongoDB - Troubleshoot Replica Sets.

It includes the following small features.

  • Check Replica Set Status
  • Check the Replication Lag
  • Check the Size of the Oplog
  • Check and fix Oplog Entry Timestamp Error

Enhanced data viewer

Tooltip for array, object and ObjectId values

How to display the array, object values in the data view is often a bit of a hassle. In V5, we add a more friendly tooltip for the array, object, and ObjectId values.

Tooltip for array and object values

One-click Group-By

This handy feature allows grouping of the selected field in query results to calculate counts, totals, minimums, maximums, and averages with a single click.

The following example lists the total number and average weight of unicorns by gender.

One-click Group-By

Table view, show object value as a column group

Now, single-level, more straightforward object values are displayed as column groups within the table view. If an object value has many, complex fields, the object value is formatted as JSON text.

Object value as a column group

Other notable improvements for the data view

  • More copy options, Copy value/key-value pair/document as plain JSON text or Mongo Shell JSON value.
  • One-click save query results as MongoDB read-only view, Pop-up right-click menu, Click “Save This Query as MongoDB Read-only View”
  • Table view, highlight selected field when view document, When you open the “View Document” dialog within table view, automatically scrolls and highlights to the selected field.
  • JSON view, allow view, add, edit and remove document within JSON View.
  • JSON view, add a new simple format for JSON view, it will displays all number values as plain text, no more NumberInt(123), NumberLong(“123456789”), NumberDecimal(“1234567.89”)

Enhanced script editor

Better code snippets

We offer tons of built-in snippets to help you writing MongoDB shell script effectively. In V5, We revised a large number of code snippets, better grouping, easy to find, easy to input. Typically, you only need to enter a few initial letters of the action, and you’ll get the sample template code you need.

  • Find, findByObjectId, findTextSearch, findWhereEq, Insert, Update, Delete …
  • SQL, SQL-JOIN, SQL-SUM, SQL-IN-SELECT …
  • Handy date range snippets, e.g. TodayDateRange, LastNWeeksDateRange, LastNMonthsDateRange …
  • Simplify complex MongoDB shell command, e.g. aggregate, createUser, rs.initiate, rs.conf …
  • If you come from a SQL background, these handy SQL to MongoDB conversion snippets may give you some help,
  • Create your snippets by hitting F8

Code snippets

Mark changed lines

The feature lets you see which lines have been changed since the last save operation, the new/modified lines are marked at the left margin.

Mark changed lines

Switch MongoDB connection and current database within the editor

Now, you can open and switch MongoDB connection within the editor, and you also can change the current database within the editor. It even allows you to view and run scripts without a database Connection. In this case, NoSQLBooster looks much like an ES2017 playground which integrated Lodash, Shelljs, Moment.js and Node.js runtime.

Switch connection and database

List opened tabs

“List Opened Tabs” feature let you list and switch to another tab. It’s handy if you opened a lot of tabs in a window.

List opened tabs

Enhanced connection tree/object explorer

Open MongoDB shell here

This feature allows you to open a new MongoDB Shell terminal via the context menu of the connection node. This is especially handy for SSH tunnel connections.

Open MongoDB shell here

Better view and manage your indexes

The redesigned index management interface allows you to view index types, sizes, index usage, and other special properties more efficiently. Add and remove indexes at the click of a button.

Indexes viewer

Connection node tooltip, press “m” to show more metrics

Now, the tooltip for connection node can show more server status information, network in and out, memory, connections…, press “m” to show more server metrics.

Connection node tooltip

Query code generator improvements

Create a query code sample project

Query Code Generator now not only generates query code for the target language (Node.js, Java, C#, Python) but also create sample projects for quick execution and testing of generated query code.

The following video demonstrates how to create and run a java gradle project for MongoDB Query.

Query code create sample project

Other notable improvements

More “Run” options

Refactoring the “Run” button to a drop-down menu, adding more “Run” options.

"Run" drop menu

Filterable connection manager

You are now able to filter connections by name, server, and security columns.

Connection filter

New option, modify default limit size

The “%%limit%%” variable can be used for code templates e.g. db.collection.find().limit(%%limit%%).
Use Menu -> Options -> Modify Default Code Template -> Modify Default Limit Size… to adjust the value, default size of this variable is 1000.
BTW, you can use Menu -> Options -> Modify Default Code Template -> Code Template for Opening Collection… to customize the “find” code template which are used for opening collection.

modify "find" template

Schema analyzer, support JSON schema

Starting in version 3.6, MongoDB supports JSON Schema validation. Now, you can use NoSQLBooster schema analyzer to view specifies validation rules.

View JSON validator

Minor improvements and bugfix

  • New option, Use Menu -> Options -> Verbose Shell to activate/deactivate the verbose shell.
  • Reduce server-side operations by caching results more intelligently
  • Upgrade major dependencies electron to 3.0, Chrome v66., Node v10.2, and V8 v6.6
  • Upgrade HackFont to 3.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.