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

NoSQLBooster 5.0 Is Now Available!

We’re happy to mark another significant milestone for the NoSQLBooster for MongoDB with the final release of the 5.0. It brings a number of new features to increase MongoDB’ers productivity, comprehensive server monitoring and diagnostics tools, visual explain plan, MongoDB log parser, enhanced SQL Query to support SQL JOIN and uncorrelated sub-queries, more friendly display of object and array values, One-click Group-By, better code snippets, mark changed lines and NoSQLBooster-enabled live tutorials…

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

NoSQLBooster 5.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 5.0.

Main interface

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

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.

Read More

NoSQLBooster for MongoDB 4.7.2 Released! Open Script Editor Faster

We’re happy to release NoSQLBooster for MongoDB 4.7.2 today. This is a minor update, it is mainly to speed up the opening of the Script editor, modify default code template for opening collection, along with some useful minor improvements and bugfix.

Modify Default Code Template for Opening Collection

NoSQLBooster 4.7.2 changed the default code template for opening a collection.It also added an option that allows the user to customize the code template

Main Menu->Options-> “Modify Default Code Template for Opening Collection…”

Modify Default Code Template

Bug Fixes and Improvements

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.

Announcing NoSQLBooster 4.7!

Today we’re happy to bring you NoSQLBooster 4.7. We’ve got a few new items that we’re proud to highlight! Optimizes connection management, making the new shell open more smoother, enhanced Object Explorer (Users and Roles node, Collection Schema and validator), watch Collection/Database/Deployment data changes, new SQL Functions(type conversion, string operations,date operations) and MongoDB ObjectId ↔ Timestamp Converter …

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

Hotfix

Hotfix in 4.7.5

  • Fixed, DBRef is missing $ref, $id, $db attributes #ref
  • Fixed, Cannot use Object.bsonsize bug #ref
  • Fixed, in the case of mixed Chinese and English input, the font is not displayed correctly bug
  • Fixed, a Minor Python Query Code Generator bug
  • Fixed, faker.finance.amount method stackoverflow bug
  • Fixed, “NumberLong”,”NumberDecimal” method typing definition issue
  • Fixed, View/Download files in GridFS collection, fails on Windows when file name contains braces / colon issue #ref
  • Changed, set the default export batchsize value to 1000

Hotfix in 4.7.3 and 4.7.4

  • Added, Add %%database%% variable to default collection window template #ref
  • Fixed, NumberLong conversion fails for negative numbers #ref
  • Fixed, regression “search using uuid helpers” bug #ref
  • Fixed, regression “table view header breaks the columns of the table when column name contains commas” bug. #ref

Hotfix in 4.7.2

The release 4.7.2 is a minor update, it is mainly to speed up the opening of the Script editor, modify default code template for opening collection.

  • Improved, speed up the opening of the Script editor
  • Changed, append running script indicator to output panel
  • Added, option: “AutoExecute Script When Collection Node is Double-Clicked”, toggle this option to enable/disable auto-execute script when collection/view node is double-clicked.
  • Fixed, connect mongodb+srv URI using SSH tunnel #ref
  • Fixed, UUID function without arguments returns an error #ref
  • Fixed, table view header breaks the columns of the table when column name contains commas. #ref

Hotfix in 4.7.1

  • Fixed, Cut/Copy/Paste in editor context menu doesn’t work with MacOS. #ref
  • Fixed, the ability to increase the paging size does not work correctly.

Optimizes Connection Management

In previous versions, each tab has an embedded MongoDB shell, and each embedded Shell will acquire an exclusive MongoDB client connection, the main purpose of this is to simplify programming and debugging, but the simple one-tab-one-connection model wastes connection resources and slows the opening of new tab. In the new version, we use an all-application shared connection pool, the multiple-tabs-one-connection mechanism can greatly improve the efficiency of “open tab”, makes the application’s UI response smoother. Please download to give it a shot now.

Enhanced Object Explorer

NoSQLBooster 4.7 greatly enhanced Object Explorer, new global user and role nodes, new collection schema and validator nodes, database node’s storage size …

Database object explorer

Database Object Explorer

Read More

NoSQLBooster for MongoDB 4.6 Released! official support for MongoDB 4.0

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

Hotfix

Hotfix in MongoBooster 4.6.1

  • Fixed, a serious bug that prevented the query builder and aggregate method from working. #ref

MongoDB 4.0 support

NoSQLBooster for MongoDB 4.6 upgrades embedded MongoShell to 4.0, adds support for all the new shell methods and operations of MongoDB 4.0. Multi-Document Transactions and New Type Conversion Operators.

WARNING: MongoDB 2.4 reached end of life in March of 2016, MongoDB Node.js 3.x driver dropped support for MongoDB 2.4 or below. Beginning in NoSQLBooster for MongoDB 4.5, versions of MongoDB server prior to version 2.6 are no longer supported.

Transactions

Minor Improvements

Connection troubleshoot

Added connection log console to show debugging data when a “test connection are being established.

connection_troubleshoot

Read More

NoSQLBooster 4.5 released, with significant improvements to SQL Query for MongoDB

By Qinghai | February 12, 2018

Today, we’re happy to announce the release of NoSQLBooster 4.5. This version introduces a bunch of significant improvements SQL Query for MongoDB along with some minor improvements and bugfix.

If you’re not familiar with NoSQLBooster(formerly MongoBooster), it is a shell-centric cross-platform(Windows, Mac, Linux) GUI tool for MongoDB v2.6-3.6, which provides fluent query builder, SQL Query, update-in-place, ES2017 syntax support and true intellisense experience.

NoSQLBooster Download Link
How to Query MongoDB with SQL?

Hotfix

Hotfix in MongoBooster 4.5.6

  • Fixed, unable to do a CSV export, throw “mongo.convertBsonObjToCsvStr is not a function”

Hotfix in MongoBooster 4.5.5

  • Fixed, AppImage icon does not show up in Ubuntu GNOME #ref
  • Fixed, sorting a table by Int or Double column sorts them as a string #ref
  • Added, two new items to context menu of “table” view. ‘Copy Document(s) to Clipboard - Tab-Separated Values’ and ‘Copy Document(s) to Clipboard - Comma-separated Values’
  • Improved, “showIndex” code template for MongoDB sharded cluster

Hotfix in MongoBooster 4.5.4

  • Added, auth option: Always ask for password when connecting to MongoDB database #ref
  • Improved, export to CSV, Add a BOM character at the beginning of the csv to make Excel displaying special characters correctly
  • Fixed, a minor UI bug in displaying recent history scripts

Hotfix in MongoBooster 4.5.3

  • Fixed, east asian language input does not work properly #ref
  • Fixed, $unwinds, cannot select middle item on the tree #ref
  • Fixed, instanceof keyword is not working as intended bug #ref
  • Fixed, mongo.NumberInt(${record[key]}) throws an error when record[key] = 10004743968 #ref
  • Fixed, Int64 truncated as Int32 bug in table & tree view #ref
  • Fixed, out of range bug when importing a table-view from MSSQL with more than 1000 rows #ref
  • Fixed, convert ObjectId to hexadecimal string bug #ref

Hotfix in MongoBooster 4.5.2

  • New, “New Shell Tab…” and “New SQL Query Tab…” buttons to main toolbar
  • New option, Menu->Options-> Output Panel-> Keeping Input Focus on the Editor After Running (default false)
  • Improved, If the script does not need to be executed immediately, the editor window is maximized by default
  • Improved, Using IndexedDB instead of local storage to store history scripts
  • Changed, Export features will be disabled after the trial period

Hotfix in MongoBooster 4.5.1

  • New, SQL Query: add RegExp Constructor Function e.g. select * from table where name = RegExp(‘^hai’,’i’)
  • Fixed, a bug when storing history script ref
  • Fixed, a shell and C# generator bug ref
  • Fixed, NoSQLBoooster runs out of Memory with Big BSON Documents => blank screen. ref
  • Enabled MongoDB Enterprise Connection in free edition

SQL Query Improvements

The “toJS” SQL Function and named parameter

NoSQLBooster 4.5 supports named parameter in SQL function. The new “toJS” helper function transforms the named parameters and arithmetic operator to a JSON object, also transforms an ordinary parameter list into an array.

1
2
3
4
5
6
toJS(k='v'); //result {k:'v'}
toJS(k="v"); //result {k:'$v'}, Double quotes quote object names
toJS(k=v); //result {k:'$v'}, without quote, v is a object name
toJS(k>5, k<=10); //result { "k": { "$gt": 5, "$lte": 10} }
toJS(a=1, b=toJS(b1=2, b2='b2')); //result {a : 1, b : {b1 : 2, b2 : "b2"}
toJS(1, 2,'3'); // result [1,2,'3'];

With named parameter and “toJS” helper function, you can query complex objects or pass JSON-object parameter to a SQL function.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
--elemMatch, named parameter and Arithmetic operators
--cool stuff, (score>8, score<=10) will be translated as {"score": { "$gt": 8, "$lte": 10 }}
SELECT * FROM survey WHERE results =elemMatch(item='abc', score>8, score<=10)

--date timezone, named parameter
SELECT year(date="date", timezone='America/Chicago') as year FROM sales

--query object type value, object_field: { a : 1, b : {b1 : 2, b2 : "b2"}
SELECT * FROM collection WHERE object_field = toJS(a=1, b=toJS(b1=2, b2='b2'))

-- text search with full text search options
SELECT * FROM article WHERE
$text = toJS($search='cake', $language='en', $caseSensitive=false, $diacriticSensitive=false)

SELECT literal(toJS(k>5, k<=10)) FROM collection

Read More

MongoDB 3.6 Change Stream Example with NoSQLBooster

By Qinghai | January 15, 2018

MongoDB 3.6 have a new change notification API, called a “change stream.” Change streams allow applications to access real-time data changes without the complexity and risk of tailing the oplog. Applications can use change streams to subscribe to all data changes on a collection and immediately react to them.

This post is a step by step tutorial on how to open and configure change streams with NoSQLBooster.

Change streams are available for replica sets or sharded clusters with replica set shards. You cannot open a change stream against a standalone mongod. The example below assume that you have connected to a MongoDB 3.6 replica set and have accessed a database. If you want to deploy a replica set in a development or test environment, please refer to this link.


Prepare Demo Data

Insert the following demo data to MongoDB. Open a shell tab Ctrl-T and execute the following script to get the unicorns collection.

1
2
3
4
5
6
7
8
9
use test

db.unicorns.insert([
{ "name" : "Horny", "weight" : 600 },
{ "name" : "Aurora", "weight" : 450},
{ "name" : "Unicrom", "weight" : 984},
{ "name" : "Roooooodles", "weight" : 590},
{ "name" : "Solnara", "weight" : 550}
])

Setup Watch on Collection

Here is the most important part. Let’s setup watch on collection, so that we can listen for any changes in the operation that occur in the collection, such as insert, delete, replace, update, invalidate and so on.

Right-click the collection node in the connection tree and select “Watch Collection” item like this:

Watch Collection Menu Item

Read More

NoSQLBooster for MongoDB 4.3 Released! official support for MongoDB 3.6

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

MongoDB 3.6 support

NoSQLBooster for MongoDB 4.3 upgrades dependent MongoDB Node.js driver to 3.0, adds support for all the new shell methods and operations of MongoDB 3.6. DNS-constructed Seedlist mongodb+srv, Change Streams, Sessions, JSON Schema , New Query Operators and New Aggregation Stages and Operators.

WARNING: MongoDB 2.4 reached end of life in March of 2016, MongoDB Node.js 3.x driver dropped support for MongoDB 2.4 or below. Beginning in NoSQLBooster for MongoDB 4.3, versions of MongoDB server prior to version 2.6 are no longer supported.

DNS-constructed Seedlist mongodb+srv

In addition to the standard connection format, NoSQLBooster for MongoDB 4.3 quick connect (connect from URI…) support a DNS-constructed seedlist.

To use it, Click Menu -> File -> Quick Connect … (Enter mongodb+srv://) or Click Connect -> From URI .. in the main toolbar.

DNS-constructed Seedlist mongodb+srv

Change Streams (db.collection.watch)

NoSQLBooster for MongoDB 4.3 adds shell method and code snippet “db.collection.watch” to open and watch a change stream.

To use it

  • Method1: Enter “db.collection.watch”, pop-up code complete dialog (Ctrl-Shift-Space), select “watch” snippet.
  • Method2: Right-click collection node in the connection tree, and click -> Watch Collection.

db.collection.watch

Read More