NoSQLBooster 8.1 Released! official support for MongoDB 7.0

We're so proud to release NoSQLBooster for MongoDB 8.1 today. This version includes official support for MongoDB 7.0, Visual explain for Slot-Based Query Execution along with some useful improvements and bugfix. For more information on MongoDB Server 7.0 , see Release Notes for MongoDB 7.0.

MongoDB 7.0 support

NoSQLBooster for MongoDB 8.1 added support for all the new mongosh methods, aggregation stages and operators of MongoDB 6.1-7.0. Aggregation Pipeline (db.xxx.aggregate().xxxx()) and Operator helper ($.) also add these helper methods.

New Aggregation Operators

MongoDB 6.3 introduces the following aggregation operators:

Name Description NoSQLBooster Helper method
$bitAnd Returns the result of a bitwise and operation on
an array of int or long values.
$.bitAnd()
$bitNot Returns the result of a bitwise not operation on
a single argument or
an array that contains a single int or long value.
$.bitNot()
$bitOr Returns the result of a bitwise or operation on
an array of int or long values.
$.bitOr()
$bitXor Returns the result of a bitwise xor (exclusive or) operation on
an array of int and long values.
$.bitXor()

New MongoDB 7.0 mongosh Methods

Name Description
db.collection.createSearchIndex() Creates an Atlas Search index on a specified collection.
db.collection.dropSearchIndex() Deletes an existing Atlas Search index.
db.collection.getSearchIndexes() Returns information about existing Atlas Search indexes on a specified collection.
db.collection.updateSearchIndex() Updates an existing Atlas Search index.

New MongoDB 7.0 Aggregation Stages.

Name Description NoSQLBooster Helper Method
$listSampledQueries Lists sampled queries for all collections or
a specific collection.
db.coll.aggregate().listSampledQueries();
$.pipelineBuilder.listSampledQueries();
$listSearchIndexes Returns information about existing Atlas Search indexes
on a specified collection.
db.coll.aggregate().listSearchIndexes();
$.pipelineBuilder.listSearchIndexes();

Visual explain for Slot-Based Query Execution

NoSQLBooster 8.1 supports visual the explain results of the slot-based execution engine. Click here to see MongoDB official information on slot-based execution engine.

Visual explain for SBE

Other Improvements

New Tooltip Show Event Option (ATL+MouseMove)

The tooltip message displayed with a delay of 1 second is sometimes quite annoying, and its inappropriate pop-up can sometimes cause unnecessary interference to the input. In 8.1 we added a new tooltip showevent option, you can use Alt+mousemove (hold alt key) to trigger the display of tooltip instead of the original mousemove event. When you press the alt key, the tooltip will be displayed immediately instead of being delayed for a second.

Use Menu -> Options -> Tooltip (Mouse Hover) to turn on this "ALT+MouseMove" option, default value is "Mouse Move".

Menu - Tooltip option

Minor Improvements and Bugfix

  • Fixed, Collection JSON import cause: E11000 duplicate key error when id policy is "overwrite_with_same_id" and the imported _id field is UUID.
  • Improved, Log Viewer - Use EJSON.parse instead of JSON.parse.

Patch Releases

Version 8.1.1

  • Improved, MongoDB AWS Authentication - add a "From Credential Process" option. More about it.
    AWS-Auth - fromProcess
  • Fixed, a mongosh command sh.status. output result compatible issue.
  • Fixed, an export error where the export option did not take effect. The error occurs when the export format is "Simple JSON Text" and the line separator is "\n,".

Version 8.1.2

  • Improved, Add Mongodump to the context menu of the database/collection tree node. Connection Tree -> Database/Collection Node -> Context Menu -> Export Collection -> Mongodump...
  • Improved, Add MongoRestore to the context menu of the database/collection tree node. Connection Tree -> Database/Collection Node -> Context Menu -> Import Collection -> Mongorestore...
  • Improved, Add "Add/Edit User Snippet..." item to the command palette.
  • Fixed, a bug where the tooltip could not pop up when the mouse hovered over the script history menu item.

Version 8.1.3

  • Fixed, a bug where console.log data was out of order when importing JSON file to collection.

Version 8.1.4

  • Fixed, an error where the license information in the status bar was displayed incorrectly.

Version 8.1.5

  • Fixed, an errors array undefined bug that was reported when copying a collection.

Version 8.1.6

  • Added, Right-click ObjectId/Reference field and choose "Follow Reference" will open a document viewer with document the ObjectID/Reference it points to. The shortcut key is "shift+F7".
    Follow Reference
  • Improved, SQL correlated subqueries to allow one end of the equality operation to be an array type. Use the $cond operator to select $in instead of $eq based on the data type of the field.
  • Fixed, an error where updating data reported a not-primary node error when read preference mode is secondaryPreferred.
  • Fixed, "BSONSymbol" method typing definition issue.

Version 8.1.7

  • Fixed, In some cases, there is an error in importing the external Relational database tables, improperly silencing the error message.
  • Fixed, a bug where non-public schema tables could not be listed when importing external data from PostgreSQL.

Version 8.1.8

  • Improved, Moved object explorer's tooltip to the right to avoid blocking the object tree. You can now also press Alt+F12 to switch the tooltip(MouseHover) show event to Mouse Move + Alt Key Pressed.
    Object Explore Tooltip
  • Improved, sorts the fields of the index creation dialog and caches the fields to speed up the display of the field list.
  • Improved, SQL - Simplifies the generation of MongoDB shell scripts that project fields embedded in the object array.
  • Improved, SQL - Support statements like select * from collection where "arrayObject" = elemMatch(name LIKE '%abc%', title = RegExp('abc', 'i')), LIKE and RegExp in elemMatch where condition.
  • Fixed, a bug with copy collection that caused an infinite import error when the source and target collection were the same.
  • Fixed, a collection export error. When there is already an active query in the current tab, a collection export error occurs when clicking on Export Collection in the right-click menu of the object explorer.
  • Fixed, a bug that pressing Command+Shift+[ or Command+Shift+] to switch tabs doesn't work under MacOS.
  • Fixed, a bug that clicking on a collection in the search result list of the object tree could not open the collection directly.

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.

AWS IAM Passwordless Authentication support

In 8.0.12, NoSQLBooster added support for MongoDB-AWS IAM authentication. Now you can connect to MongoDB with AWS IAM (AWS Single Sign-On) Passwordless Authentication.

Configure AWS SSO Authentication

Set up AWS Profile for AWS CLI with AWS SSO configuration

If you want to learn how to use AWS single sign-on (SSO) to set up AWS CLI, you can refer to the following documentation.

Here, we have set up AWS Profile for AWS CLI with AWS SSO configuration with the following configuration of our AWS SSO setup.

The location of the configuration file is ~/.aws/config.

1
2
3
4
5
6
7
8
9
10
11

#######################
#### AWS SSO ####
#######################

[profile aws-sso-demo-account]
sso_start_url = https://d-93670bbbbb.awsapps.com/start
sso_region = eu-west-1
sso_account_id = 012345678910
sso_role_name = PowerUserAccess
region = eu-west-1

Set up AWS SSO Authentication in NoSQLBooster

  1. Open the connection configuration editor of NoSQLBooster, switch to the Authentication tab, and use the MongoDB-AWS authentication method.

AWS-Auth interface

  1. Check the "From SSO (AWS Single Sign-on)" checkbox.
  2. Fill in the configured AWS profile "aws-sso-demo-account" in the "Credential Profile" edit box.
  3. Click "Test connection".

AWS SSO auth

These are all the configuration steps.

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.

NoSQLBooster 8.0 Released!

We are pleased to mark another important milestone for NoSQLBooster for MongoDB, the final version of 8.0. This major upgrade includes using mongosh instead of legacy mongo shell as an embedded shell, support for MongoDB 6.0, MongoDB operator helper, aggregation pipeline builder, a separate result tab for each mongosh command, greatly improved data view, one-click filtering/projection, import and export tools, test data generator and more.

If you want to try NoSQLBooster 8.0 out now, you can get it from the following link.

NoSQLBooster 8.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 8.0.

Main interface

Let's dive in and get an overview of what's coming in NoSQLBooster 8.0!

Although we are showing screenshots of NoSQLBooster for Windows, all these new features are available for Mac OS X and Linux as well.

Read More

NoSQLBooster 7.1 Released!

We're so proud to release NoSQLBooster for MongoDB 7.1 today. This version includes MongoDB Node.js driver Upgrade from 4.1 to 4.4, Data types compatible with mongosh, MSSQL connection string, More font options, ReplicaSet Member Tags along with some useful improvements and bugfix.

Node.JS Driver Upgrade From 4.1 to 4.4

MongoDB Node.js driver upgrade from 4.1 to 4.4 in NoSQLBooster 7.1. And, we have updated the typing definition of mongoshell methods to synchronize to the latest version of MongoDB. While upgrading to the latest MongoDB Node.js driver, we still maintain support for the old version of MongoDB server. NoSQLBooster supports MongoDB server versions 2.6 to 5.3.

Data Types Compatible With mongosh

NoSQLBooster 7.1 adds Int32(NumberInt), Long(NumberLong), Decimal128(NumberDecimal) data types to be compatible with mongosh.

1
2
3
4
5
Int32(1); //= NumberInt(100) in legacy mongoshell

Long("123"); //NumberLong("123") in legacy mongoshell

Decimal128("-1"); //NumberDecimal("-1") in legacy mongoshell

More Fonts and Font Ligatures Support

In 7.1, we have four built-in editor fonts (Hack, Fira Code, JetBrain mono and Source Code Pro) to choose from. Fira Code and JetBrain Mono support font ligatures.

Use the editor's right-click menu to set the font, and you can also switch the editor font through the main menu.
To use it, Click Menu -> Options -> Editor Settings -> Font.

Left: ligatures as rendered in Fira Code. Right: same character sequences without ligatures.

Font Fira Code

Display Tags in the Rs Member Selector

You can directly connect and switch members of the replica set within the script editor. MongoDB Atlas clusters are configured with pre-defined replica set tags for different member types in the cluster. In 7.1, the tags for the member are displayed in the member set selector to make it easier to select a specific member by member type and region. Note: current user need to have permission to execute replSetGetStatus command.

RS Member Selector Tags

Support MSSQL Classic Connection String

When importing data from a MSSQL database, two formats of connection string are supported. Both formats need to start with the string "mssql://"

  • Classic Connection String
1
2
mssql://Server=localhost,1433;Database=database;User Id=username;Password=password;Encrypt=true
mssql://Driver=msnodesqlv8;Server=(local)\INSTANCE;Database=database;UID=DOMAIN\username;PWD=password;Encrypt=true
  • Connection String URI
1
2
mssql://username:password@localhost:1433/database?encrypt=true
mssql://username:password@localhost/INSTANCE/database?encrypt=true&domain=DOMAIN&driver=msnodesqlv8

Other Improvements

Log Windows - Filter Row and Sorting

NoSQLBooster's client-side user query log window is a very useful function for diagnosing query problems. In 7.1, we enhanced the UI function of the log window, adding sorting and filter row.

Log Window with Filter Row

Tooltip - ShowDelay 1s

Displaying tooltips too frequently is really a bit annoying. In 7.1, we increased the display delay of tooltip and menubutton from 100ms to 1000ms, hoping to partially solve this issue.

Read More

NoSQLBooster 7.0 Is Now Available! MongoDB Script Debugger

Today, we are extremely pleased to announce the release of NoSQLBooster 7.0. It brings a number of new features to increase MongoDB'ers productivity, MongoDB script debugger, official support for MongoDB 5.0, replica set members drop-down, collection re-schema tool, one-click grouping by date, task email notification, better fake data generator and more.

if you want to try NoSQLBooster 7.0 out now, you can get it from the following link.

NoSQLBooster 7.0 Download Link

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 7.0 with a light theme.

Main interface in light

The following figure shows the main interface of version 7.0 with a dark theme.

Main interface in dark

Let’s dive in and get an overview of what’s coming in NoSQLBooster 7.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?

MongoDB script debugger (unique feature)

Still debugging your MongoDB script with print statements? Now, you can use NoSQLBooster's built-in debugging capabilities to set breakpoints and step through code.

To start debugging, click the editor's text margin to set a breakpoint F9, and run with debugger F5. When your breakpoint is hit, you can explore the call stack, watch and edit variables, and interact directly with the debugger.

Debugging with Breakpoints

Due to the introduction of the debugger, some keyboard shortcuts have been adjusted, and you can view the bound shortcuts through the button's tooltip.

  • Press F5 to start debugging, CTRL+Enter|CTRL+F5 to run without debugging.
  • Press F6 to Run Selected Text/Current Statement.
  • Unlike previous versions, click the "Run" button or press CTRL+ENTER to always run the entire script even if you select some of the scripts.

Replica set members drop-down list

In many panels, we have added a replica set members selector that allows you to switch between the members of the replica set in the interface. This is especially convenient for monitoring tools, and many times you want to drill down to a rs member to see the details.

Replica set members drop-down list

Collection re-schema tool

The new re-schema tool provides a GUI for updating the MongoDB collection schema. Like other tools provided by NoSQLBooster, it is essentially a code generation tool that helps you generate code to update the collection with a few clicks, and then you can use the generated code as a basis for more complex programming, then save it as a script file, or even add automated tasks.

This feature uses "$convert" operator and update using an aggregation pipeline, requires MongoDB server version 4.2 or above. We also provide a code template called convertFieldType to convert individual fields, which can be used directly in the script editor.

Re-schema Collection

MongoDB 5.0 support

NoSQLBooster 7.0 upgrades the MongoDB Node.js driver to the latest 4.1 and embedded MongoDB Shell to 5.0, adding support for all the new mongo shell methods and aggregation operators of MongoDB 5.0. For more information on MongoDB 5.0 , see Release Notes for MongoDB 5.0.

New Code templates for MongoDB 5.0

This release added a few code templates for MongoDB 5.0.

createTimeSeriesCollection

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//then press "tab" to complete code
createTimeSeriesCollection

//got
db.createCollection(
"name",
{
timeseries: {
timeField: "timestamp",
//metaField: "metadata",
//granularity: "hours"
},
//expireAfterSeconds: 86400
}
)

setWindowFields chain method

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
db.cakeSales.aggregate().setWindowFields //then press "tab" to complete code

//got
db.cakeSales.aggregate().setWindowFields({
partitionBy: "$state",
sortBy: { orderDate: 1 },
output: {
cumulativeQuantityForState: {
$sum: "$quantity",
window: {
documents: ["unbounded", "current"]
}
}
}
})

New date operators in SQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
db.shipping.insertMany([{custId: 456, purchaseDate: ISODate("2020-12-31") },{ custId: 457, purchaseDate: ISODate("2021-02-28") }]);//test data


//New date operators $dateAdd, $dateSubtract, $dateTrunc, $dateDiff, all of which can be used as SQL functions
mb.runSQLQuery(`

SELECT dateAdd(startDate='$purchaseDate', unit='day', amount=3, timezone='America/New_York') as DATE_ADD,
dateSubtract(startDate='$purchaseDate', unit='day', amount=3, timezone='America/New_York') as DATE_SUBTRACT,
dateTrunc(date='$purchaseDate', unit='week', binSize=2, timezone='America/New_York', startOfWeek='Monday') as DATE_TRUNC,
dateDiff(startDate='$purchaseDate', endDate='$$NOW', unit='day', timezone='America/New_York', startOfWeek='Monday') as DATE_DIFF
FROM shipping

`).sort({_id:-1})
.limit(100)

NoSQLBooster 7.0 also enhanced mouse hover for all new aggregation chain methods and aggregation Operators. In addition to method and type definitions, hover is now able to display document and example for these aggregation chain methods.

Task email notification

In version 7, automated tasks added the ability to notify via e-mail. You can specify that some users receive e-mail notifications of task completion or failure. All types of tasks can be notified by email.

To enable email notification,
Menu -> Tools -> Open Tasks... -> Select Task -> Edit -> Mail Notification

Task email notification

After you configure the default SMTP transport, you can also use the new code templates that starts with sendMail to add the ability to send mail to the script more easily. The following is the new code templates that starts with sendMail.

Send email code templates

Script Editor Improvements

Advanced code-complete

Version 7 can intelligently match typed text to enable completion beyond single words. Take the toUpperCase method of a string as an example. In the old version, you had to type "toU" or "Upper" to find the method. In version 7, just type "tu" to locate the "toUpperCase" method.

As shown in the following figure.

Advanced code-complete

Editor themes

Now, we have 14 built-in editor themes to choose from, and you can apply the editor's theme through the editor's right-click menu. It may also be set through the main menu.
Main Menu -> Options -> Editor Settings -> Themes

Editor themes

Change Editor font size

The font size of the editor also be set through the main menu. Main Menu -> Options -> Editor Settings -> Font size with a minimum of 6px and a maximum of 30px.

Editor font size

Switch rs member within the editor

As mentioned earlier in the replica set drop-down list, you can directly connect and switch members of the replica set within the script editor.

Switch rs member in editor

Send to external tool

You can send the editor contents to the external editor associated with the system through the editor's right-click menu.

Send to external editor

Results tabs and data viewer improvements

One-click grouping/filtering of date fields

For date fields, grouping by a certain point in time is not practical. In version 7, we have enhanced grouping of date and time fields. The one-click grouping function will be grouped by day (formatted by $dateToString operator), and users also modify the generated code to support more date ranges.

One-click group context menu

The $dateToString operator converts a date object to a string according to a user-specified format. The date must be a valid expression that resolves to a Date, a Timestamp, or an ObjectID. Please refer to this page for format descriptors.

Group by date - generated code

One-click grouping of embedded array fields

When you use one-click grouping for an embedded array field, the generated code automatically prepends a $unwind stage.

Group by array field

New JSON view format (plain JSON)

In version 7, JSON view has three formats. MongoDB shell format is actually js code, which can be copied and pasted into mongo script. MongoDB Extended Type-conserving EJSON format is more suitable for data exchange. The new plain JSON is simple human-readable pure JSON text, losing type information.

JSON View - plain JSON

Add a new navigator bar to document viewer, previous, next ... And, when automatic refresh is activated, the pop-up edit box and document viewer are refreshed synchronously.

Document viewer - navigator

Faster tab switching and tab switcher

In this release, after careful code review, we reduced unnecessary DOM reflows, greatly speeding up the response time for tab switching. The new tab switcher also provides more convenience for tab switching.

The following picture shows the tab switcher, and the orange item indicates that the tab is being debugged.

Tab switcher

Rename tab title

The following figure shows the right-click menu of the tab. Click "Rename Tab..." to rename the title of the selected tab.

Tab switcher

Export/Import connections and application configuration

In previous versions, exporting/importing connection could only export/import connection configuration information. In version 7, we redesigned this feature to export/import not only the selected connection configuration, but also custom queries, tasks, code snippets, favorites related to the connection, and general application configurations and options. You can use this feature to set up a backup for the application configuration.

Export/Import connections

Support for more export formats (.xlsb, .txt and .html)

Version 7 added 3 more export format. Excel 2007+ Binary Format (.xlsb), Max Rows: 1,048,576, UTF-16 Unicode Text (.txt) and HTML Tables(.html). Export in JSON format has also been enhanced, adding two options to output documents in a pretty-printed format and export to JSON files using standard JSON arrays (separator [,\n]).

The following figure shows all the supported export formats, and the red box shows the new.

More export formats

Other notable improvements

Better fake data generator

The faker.js module is updated to the latest 5.x version, and a large number of API methods are added to generate different types of fake data. We updated the GUI of test data generator and added the ability of name filtering and lookup. We also added several code templates that start with generateTestData to make it easier to generate fake data.

Fake data generator

More datetime field display format

In this version, we have added several date display formats, please refer to the following figure. Marked in red as new.

Date display formats

Set comments for any database objects

Now, you can set comments for any database objects. Note: Comments will not be saved to the MongoDB server in any way, only on your local computer.

Set comments

New query code generator (Java Use Builders)

In version 7, a new query code generator Java Use Builder has been added. The Java MongoDB driver dependency is also updated to modern API.

Java Use Builders

Open MongoShell here (prefer mongosh to mongo shell)

In addition to mongo (legacy mongo shell), this Open MongoShell here feature also supports mongosh (new mongo shell). When both mongosh and mongo can be found in the search path, mongosh will be preferred.

Open MongoShell here

Last accessed field in the connections dialog

The new "Last Accessed" field added to the connection dialog box. Allow sorting and filtering.

Last Accessed

Breaking Changes

Numeric Types

In order to be compatible with the behavior of the new mongosh, unlike previous versions (legacy mongo shell), version 7 does not need to explicitly declare the int32 type when submitting data, but automatically selects the closest equivalent type.

Compare the differences between version 6 and version 7 below

1
2
3
4
5
6
7
8
//In version 7, when the value is int32, int32 is inserted, 
//but in version 6 or below, if there is no explicit declaration, Double is always inserted
db.testCollection.insertOne({
a:1, //version 7: int32, version 6: double,
b:1.0, //version 7: int32, version 6: double,
c:1.1, //version 7: double, version 6: double
d: Number.MAX_SAFE_INTEGER,//version 7: double, version 6: double
});

Shortcuts

Due to the introduction of the debugger, some keyboard shortcuts have been adjusted, and you can view the bound shortcuts through the button's tooltip.

  • Press F5 to start debugging, CTRL+Enter|CTRL+F5 to run without debugging.
  • Press F6 to Run Selected Text/Current Statement.
  • Unlike previous versions, click the "Run" button or press CTRL+ENTER to always run the entire script even if you select some of the scripts.

Miscellaneous improvements and bug fixes

  • Upgrade MongoDB nodejs driver to v4.1. ref.
  • Upgrade major dependencies electron to v9.4, Chrome v83., Node v12.14, and V8 v8.3.
  • Upgrade embedded mongo shell to 5.0.
  • Upgrade ssh2 module to 1.3, support more server host key formats ref.
  • Update the type definition of the 3rd dependent library(lodash, Moment.js and Faker.js) to the latest.
  • Add a new "No to All" option to the confirmation dialog box for closing unsaved tabs.
  • Add "Watch instance/database/collection" menu items to the tools menu.
  • Add the "Test Connection" diagnosis function to the error window When the connection fails.

Patch Releases

Version 7.0.2

  • Fixed, error parsing MongoDB tools command line options: invalid argument for flag `--uri' (expected string): invalid syntax.
  • Fixed, error parsing mongodump command line options: unknown option "tlsAllowInvalidCertificates".
  • Improved, easier access to black editor themes.
  • Improved, tweak dracula and monokai dark themes.

Version 7.0.3

  • Improved, for sorting after one-click grouping, replace the original sorting stage instead of pushing one.
  • Improved, if it is connecting to a load balancer fronting a mongos like service, add a "load balanced" status to the connection node.
  • Improved, tweak the hover style of tables and trees with dark themes.

Version 7.0.4

  • Fixed, a MacOS edition bug that caused a zombie process when exit the program by pressing "CMD+Q".
  • Fixed, a MacOS edition bug where the global shortcut key "CMD+Q" was incorrectly bound.
  • Improved, reorganized the "Help- > Feedback/Support" sub menu and added items to send bug report and feature request.
  • Improved, remember the size and position of the connection editor dialog.
  • Improved, in the tree view, allow field names to be sorted by clicking the header of the key column.

Version 7.0.5

  • Fixed, an auto-complete bug that could not be popped up in some cases.
  • Fixed, a linux edition bug that caused a zombie process when exit the program.
  • Fixed, a "Option ssl_ca_certs is not support" error occurred when trying to connect to AWS DocumentDB.
  • Added, a "reload" reminder when an edit file opened with an external editor is modified.
  • Added, a "clear filter" action to the history script dialog.
  • Added, "Copy Path" and "Reveal in explorer" actions to the context menu when the script in the editor is a file.
  • Improved, UI performance of opening complex large documents.
  • Improved, bind the shortcut key "F6" to the "Run Selected Text/Current Statement" action.
  • Improved, If no breakpoint is set, pressing the shortcut key "F5" does not enter debug mode, which is equivalent to pressing "CMD+ENTER" to run the entire script without debugging.
  • Improved, change the title of the window to the title of the selected tab.

Version 7.0.6

  • Fixed, connection timeout error in some cases when connecting to a replication set through SSH tunnel.
  • Fixed, UI freeze error when writing a large file to script history.

Version 7.0.7

  • Fixed, a bug where the "find by database name" function did not work in the connection tree.
  • Improved, if you are upgrading from an older version to version 7, a "shortcut break change" prompt pops up when you first press the "Run" button.

Version 7.0.8

  • Fixed, a bug of an explain method of aggregation cursor.

Version 7.0.9

  • Fixed, a bug where orphaned processes caused by forced exit of the application resulted in high CPU usage, MacOS only.
  • Fixed, a bug that double-clicked to clone the current tab. if the current tab includes a $operator, the $operator will be mistakenly replaced with blank space.
  • Fixed, an error that caused an "$currentOp Aggregation provides invalid namespace" error when the "db.aggregate" method was executed.

Version 7.0.10

  • Fixed, an error where the date field was set to undefined when importing an EJSON file containing the $date field.
  • Fixed,a bug where the connection type was misplaced when importing the connection URI of "mongo+srv://".
  • Improved, more SSH key formats are supported, RSA, DSA, ECDSA (nistp-*) and ED25519 key types, in PEM (PKCS#1, PKCS#8) and OpenSSH formats.
  • Improved, optimized application icon in MacOS system.

Version 7.0.11

  • Fixed, a missing "save button" bug in the dialog of mongodump task editor in some cases.
  • Fixed,a SQL query error that reported an exception of "db.stats.aggregate is not a function" if the collection name is a method of db object (for example, the collection name is stats or version, "select * from stats").
  • Fixed,a link error in MSSQL uri connect format.

Read More

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

Read More

NoSQLBooster 6.1 Released! official support for MongoDB 4.4

We're so proud to release NoSQLBooster for MongoDB 6.1 today. This version includes official support for MongoDB 4.4, SQL exclude column, SQL UNION, Table view filter row along with some useful improvements and bugfix. For more information on MongoDB 4.4 , see Release Notes for MongoDB 4.4.

MongoDB 4.4 support

NoSQLBooster for MongoDB 6.1 upgrades the MongoDB Node.js driver to the latest 3.6 and embedded MongoDB Shell to 4.4, adding support for all the new mongo shell methods and aggregation operators of MongoDB 4.4.

Union All ($unionWith Stage) and New Aggregation Operators

MongoDB 4.4 adds the $unionWith aggregation stage, providing the ability to combines pipeline results from multiple collections into a single result set. NoSQLBooster 6.1 adds "unionWith" chain method to AggregationCursor and provide the appropriate code snippets and mouse hover information to support code completion. In addition to the enhanced chain method, NoSQLBooster also enhances SQL queries to support SQL UNION and UNION ALL.

1
2
3
4
5
6
7
8
db.suppliers.aggregate()
.project("state,-_id")
.unionWith({
coll: "warehouses",
pipeline: [{
$project: { state: 1, _id: 0 }
}]
})

Equivalent to the following MongoShell script, but more concise, and easy to write, not to mention code completion.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
db.suppliers.aggregate([{
$project: {
state: 1,
_id: 0
}
}, {
$unionWith: {
coll: "warehouses",
pipeline: [{
$project: {
state: 1,
_id: 0
}
}]
}
}])

NoSQLBooster 6.1 also enhanced mouse hover for all new aggregation chain methods and aggregation Operators. In addition to method and type definitions, hover is now able to display document and example for these aggregation chained methods.

SQL Query Improvements

Exclude Columns in a SQL Query

NoSQLBooster6.1 extends the syntax of the SQL query. You can exclude the selected columns from the query results by adding a minus sign (eg. -_id) to the name of the columns. The MongoDB query implicitly returns the _id field, see the following example to exclude the _id column from the query result.

1
SELECT number, concat(first_name,' ',last_name) as name, salary,-_id FROM employees
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//javascript
use NoSQLBoosterSamples
//prepare test data
db.employees.insert([
{_id:1, "number":1001,"last_name":"Smith","first_name":"John","salary":62000,},
{_id:2, "number":1002,"last_name":"Anderson","first_name":"Jane","salary":57500},
]);

//Let's fetch the first_name, last_name and salary fields of the employees available in employees table and
//sort the result in the descending order by salary.
//use -_id to exclude _id column
mb.runSQLQuery(`

SELECT number, concat(first_name,' ',last_name) as name, salary,-_id FROM employees

`);

The result of the query is as follows, and the _ id field has been excluded

number name salary
1001 John Smith 62000
1002 Jane Anderson 57500

Read More

NoSQLBooster 6.0 Released!

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.

Main interface

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.

Read More

NoSQLBooster 5.2 Released! official support for MongoDB 4.2

We're so proud to release NoSQLBooster for MongoDB 5.2 today. This version includes official support for MongoDB 4.2 along with some useful improvements and bugfix. For more information on MongoDB 4.2 , see Release Notes for MongoDB 4.2.

MongoDB 4.2 support

NoSQLBooster for MongoDB 5.2 upgrades embedded MongoDB Shell to 4.2.0, adds support for all the new shell methods and operations of MongoDB 4.2.

Merge and Other New Aggregation Stages

MongoDB 4.2 adds a few new aggregation pipeline stages, $merge, $planCacheStats, $replaceWith, $set and $unset. NoSQLBooster 5.2 adds these chain methods to AggregationCursor and provide the appropriate code snippets and mouse hover information to support code completion.

1
2
3
4
5
db.users.aggregate()
.planCacheStats({})
.replaceWith("$name")
.set({name: {$concat: ["$f_name", "$l_name"]}})
.unset(["f_name","l_name"])

Equivalent to the following MongoShell script, but more concise, and easy to write, not to mention code completion.

1
2
3
4
5
6
db.users.aggregate([
{ $planCacheStats: {} },
{ $replaceWith: "$name" },
{ $set: { name: { $concat: ["$f_name", "$l_name"] } } },
{ $unset: ["f_name", "l_name"] }
])

NoSQLBooster 5.2 also enhanced mouse hover for all aggregation chain methods. In addition to method and type definitions, hover is now able to display document and example for these aggregation clain methods.

Read More

Announcing NoSQLBooster 5.1!

We're so proud to release NoSQLBooster for MongoDB 5.1 today. This version includes visualizing GeoJSON Objects, mouse hover improvement for MongoDB operators along with some useful minor improvements and bugfix.

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

Visualizing GeoJSON Objects

The most significant enhancement of version 5.1 is to allow users to visualize the MongoDB GeoJSON Objects quickly. The GeoJSON is a format for encoding geographical data structures, using the JavaScript Object Notation (JSON).

Visualize GeoJSON

Mouse Hover Improvement

NoSQLBooster 5.1 greatly enhanced mouse hover in the code editor. In addition to method and type definitions, hover is now able to display document and example for MongoDB operators.

Mouse hover for MongoDB operators

  • Press "F1" to view online help
  • Press "Shift+F1" to copy the example section to the clipboard

Read More