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.

Mouse hover for Aggregation Chain Methods

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

MongoDB 4.2 New Expressions as SQL Functions

NoSQLBooster 5.2 allows all new Mongodb4.2 aggregation expressions to be used as SQL function in SQL statements. Aggregation Trigonometry Expressions, Aggregation Arithmetic Expressions and Aggregation Regular Expressions (regex) Operators.

Aggregation Trigonometry Expressions

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT 
sin("value") as sin,--Returns the sine of a value that is measured in radians.
cos("value") as cos,--Returns the cosine of a value that is measured in radians.
tan("value") as tan,--Returns the tangent of a value that is measured in radians.
asin("value") as asin,--Returns the inverse sin (arc sine) of a value in radians.
acos("value") as acos,--Returns the inverse cosine (arc cosine) of a value in radians.
atan("value") as atan,--Returns the inverse tangent (arc tangent) of a value in radians.
atan2("value", "value2") as atan2,--Returns the inverse tangent (arc tangent) of y / x in radians, where y and x are the first and second values passed to the expression respectively.
asinh("value") as asinh,--Returns the inverse hyperbolic sine (hyperbolic arc sine) of a value in radians.
acosh("value") as acosh,--Returns the inverse hyperbolic cosine (hyperbolic arc cosine) of a value in radians.
atanh("value") as atanh,--Returns the inverse hyperbolic tangent (hyperbolic arc tangent) of a value in radians.
degreesToRadians("value") as degreesToRadians,--Converts a value from degrees to radians.
radiansToDegrees("value") as radiansToDegrees --Converts a value from radians to degrees.

FROM testCollection

Aggregation Regular Expressions (regex) Operators

1
2
3
4
5
6
SELECT 
regexFind(input='Single LINE description.', regex='line', options='i') as regexFind,
regexFindAll('First lines\nsecond line', 'line', 'i') as regexFindAll,
regexMatch('Multiple\nline descriptions', 'm.*line', 'is') as regexMatch

FROM testCollection

Aggregation Arithmetic Expressions

Arithmetic Expressions in SQL

Wildcard Index

MongoDB 4.2 introduces wildcard indexes for supporting queries against unknown or arbitrary fields. This version also adjusts UI to provide support for wildcard index.

Create Wildcard Index

Other Improvements

Import/Export Improvements

In this version, we thoroughly reviewed and refactored the code for the export function and greatly improves the execution performance of the export function. This version also adds a display of the progress of the export.

As for import and replication capabilities, we have added a new insertion policy that allows the original collection to be dropped before import.

Drop collection first policy

Tree/Table View Cell Formatter Improvements

Now, single-level, more straightforward object/Array values are displayed as JSON text within the tree/table view. If an object/array value has many, complex fields, the value is still formatted as “{n attributes}”. This friendly UI enhancement can save you a few times to press the “+” button.

Format simple object as JSON text

New Fluent Query Methods

NoSQLBooster 5.2 adds the following new fluent query methods:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//text method performs a text search on the content of the fields indexed with a text index.
db.articles.find({})
.text({$search: "coffee", $caseSensitive: true}); //Equivalent to: db.articles.find({$text: { $search: "coffee", $caseSensitive: true}})


//jsonSchema method matches documents that satisfy the specified JSON Schema.
let myschema = {
required: [ "item", "qty", "instock" ],
properties: {
item: { bsonType: "string" },
qty: { bsonType: "int" },
instock: { bsonType: "bool" }
}
}

db.items.find().jsonSchema(myschema); //find all documents in the collection that satisfy the schema
db.items.find().nor(qb.jsonSchema(myschema)); //find all documents in the collection that do not satisfy the schema

Visualizing Legacy Coordinate Pairs

In addition to visualize the MongoDB GeoJSON Objects, this feature now also allows you to visualize legacy coordinate pairs.

Visualize Legacy Coordinate Pairs

Add “Reload” Button to the Document Viewer

This new “Reload” button allows you to manually reload the contents of the current object in the document viewer.

Reload Button

Minor Improvements and Bugfix

  • Fixed, kill operation in monitoring is not allowed when op has no “host” field. ref#
  • Fixed, export to JSON, BSON, CSV with large result set won’t work. ref#
  • Fixed, Kerberos authentication connections where hostname is not the canonical name. ref#
  • Fixed, return the result in object directly when the aggregate option “explain” is true. ref#
  • Fixed, SRV connections with special characters in the password.

Version 5.2.3

Release Date: 2019-09-28

Bugfix

  • Fixed, Export to JSON, BSON, CSV fails with Mlab MongoDB hosting. ref#

Version 5.2.4

Release Date: 2019-10-11

Add “New UUID” button to UUID/LUUID value editor

Clicking the “New UUID” button to create new unique UUID value.

New UUID Button

Add “URI Formats” button to “Import External Database” dialog

Clicking the “URI Formats” button to go to the detailed help page for the Connection String URI formats.

URI Formats Button

Bugfix

  • Improved, Notarize macOS NoSQLBooster Apps to be accepted by Gatekeeper after MacOS Mojave 10.14.5 update.

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.