DBeaver Overview
DBeaver is a free, open source multiplatform database management tool and SQL client for developers and database administrators. DBeaver can be used to access any database or cloud application that has an ODBC or JDBC driver, such as Oracle, SQL Server, MySQl, Salesforce, or MailChimp. Devart DBeaver provides you with the most important features you'd need when working with a database in a GUI tool, such as:
- SQL queries execution
- Metadata browsing and editing
- SQL scripts management
- Data export/import
- Data backup
- DDL generation
- ER diagrams rendering
- Test data generation
- BLOB/CLOB support
- Database objects browsing
- Scrollable resultsets
All DBeaver products are licensed but with different types of licenses. Support for BigData/NoSQL databases such as MongoDB, Cassandra, Redis, InfluxDB, DynamoDB.
- DBeaver is free universal SQL client/database tool for developers and database administrators. It can work with any database server which has JDBC or ODBC driver. It supports pluggable extensions. IDE, Modeling Tools, Tools, Database Development, Database.
- DBeaver uses MongoDB Java driver 3.8.0 to operate with server. It supports MongoDB servers from 2.x to 4.x. Connecting to MongoDB Server You can connect directly to a server or use SSH tunneling or SOCKS proxy.
The tool comes in two editions — Community and Enterprise. Enterprise Edition supports NoSQL databases, such as MongoDB or Cassandra, persistent query manager database, SSH tunneling, vector graphics (SVG) and a few other enterprise-level features. Note though that you can access a MongoDB database from DBeaver Community Edition using the respective Devart ODBC driver. For the purposes of this guide, we'll use the Community Edition of DBeaver to retrieve data from MongoDB via the Open Database Connectivity driver.
Creating an ODBC Data Source to Use MongoDB Data in DBeaver
- Click the Start menu and select Control Panel.
- Select Administrative Tools, then click ODBC Data Sources.
- Click on the System DSN tab if you want to set up a DSN name for all users of the system or select User DSN to configure DSN only for your account.
- Click the Add button and double-click Devart ODBC Driver for MongoDB in the list.
- Give a name to your data source and set up the connection parameters.
- Click the Test Connection button to verify that you have properly configured the DSN.
When using ODBC driver for MongoDB with DBeaver, SQL_WVARCHAR data types may be displayed incorrectly in DBeaver. To prevent this, you need to set the string data types to Ansi either in the Advanced Settings tab of the driver configuration dialog or directly in the connection string (String Types=Ansi) — all string types will be returned as SQL_CHAR, SQL_VARCHAR and SQL_LONGVARCHAR.
Connecting to MongoDB Data from DBeaver via ODBC Driver for MongoDB
Follow the steps below to establish a connection to MongoDB in DBeaver.
- In the Database menu, select New Database Connection.
- In the Connect to database wizard, select ODBC and click Next.
- Enter the previously configured DSN in the Database/Schema field.
- Click Test Connection. If everything goes well, you'll see the Success message.
Viewing MongoDB Database Objects and Querying Data
You can expand out the database structure in DBeaver's Database Navigator to visualize all the tables in MongoDB database. To view and edit the data in a table, you need to right-click on the target table name and select View data.The content of the table will be displayed in the main workspace.
If you want to write a custom SQL query that will include only the necessary columns from the table, you can select New SQL Editor in the SQL Editor main menu. Create your query and run it by clicking Execute SQL Statement to view the results in the same window.
© 2015-2021 Devart. All Rights Reserved. | Request Support | ODBC Forum | Provide Feedback |
Summary:MongoDB is a popular NoSQL database. Here are the best MongoDB schema design tools and softwares with GUI. The best part is that most of them also support auto generate code.
MongoDB is a popular NoSQL database which is the first choice for unstructured data. The word unstructured has many advantages and disadvantages in the production environment of applications which we will see in this article.
Like SQL it is also necessary for MongoDB to design a fixed schema for predictable database structure.
Why do we need to Design MongoDB Schema?
So MongoDB is NoSQL database and it's advantages include a schema-less feature, then why there is a need for designing a fixed schema?
Well, the schema-less feature becomes a problem for some applications in a real-world production environment.
We need a properly defined schema with all relations between the collections. It does not violate the properties of MongoDB because in production environment schema change is not advised.
A well-defined schema also helps to build a stable application where the data fetched from database is predictable (assume you are expecting name as a string but it is an object in the database).
Flexible schema is still useful and has its own use cases that separates MongoDB from SQL. Here is an example.
I was building an application and a subpart of that needs to store form details. The count and type of form elements were dynamic, so I came up with this solution.
The elements field will be dynamic because we insert variable numbers of key-value pairs inside it.
A good security practice will be to ensure proper validation before pushing the data to the database.
If you are inserting data from multiple sources (say API's) ensure proper validation and never let flexible schema feature open for all.
Mongodb Dbeaver Database
Best Tools to Design MongoDB Schema
Hackolade
This is the tool which I personally use because of its simplicity and features. It lets you to visually design MongoDB schema easily with quick navigation UI.
Features of Hackolade for designing Mongodb Schema:
- Simple schema visualization
- Hierarchical view of nested fields in the collection
- Auto-generate MongoDB script
- Highly customizable properties
- Ensure proper validation
- Reverse engineer existing database
- Auto suggest denormalisation
Cons:
- The software lags (tested on Ubuntu 20.04).
- The large and complex schema will be hard to handle with the UI
Dbeaver Mongodb Not Found
Pricing:
- Free community version available
Moon Modeler
The amazing UI of this software is what makes it unique. Apart from UI, it has all sets of features which can let you design MongoDB schema easily.
- Amazing UI with dark mode support
- Easily handle complex projects
- Ensure proper validation
- Auto-generate scripts
- Reverse engineer database
Cons:
- Nothing
Pricing:
- $99 for a single-user license
- $49 for an educational license
- Free trial available
DbSchema
This yet another paid software to design MongoDB schema. It can be a good choice for SQL designers.
Features:
- Visualize schema design
- Foreign key support
- Visual query builder
Cons:
- GUI is a bit complex.
Pricing:
- $63 academic license
- $127 for personal license
- $197 for commercial license
- Free trial available
If you are primarily working with SQL designs and you need a software that will support MongoDB also then this software is fine. Else I will recommend going for Hackolade.
Aqua Data Studio for MongoDB
Aqua data studio is an overall development and management tool for the MongoDB database. It is not limited to designing the schema but also manages live databases.
Features:
- Schema browser and visualization
- Visual collection editing
- Compare schema
- Supports relationship
- Inbuilt MongoDB shell
Pricing:
- $499 for 1 user.
- $1299 for 3 users.
- $2099 for 5 users.
Dbeaver Mongodb Community
DBeaver
It is also a full-fledged designing and management tool for MongoDB as well as SQL.
Features:
- Create ER diagrams
- Export as MongoDB script
- Ensure proper validation
Mongodb Dbeaver List
Pricing:
- Free community version available
ER/Studio
It is a powerful data architect software which is capable of designing MongoDB schema.
Features:
- Reverse/forward engineer database
- Supports collaboration
- Supports relationships
Conclusion
I will recommend going for Hackolade or Moon Modeler depending on your needs. They are the best software for MongoDB schema design with amazing UI.