Skip to content

Use TablePro every day? A license adds the paid features and funds the next release. Use TablePro daily? Get a license

MongoDB client for Mac

Write queries the way mongosh takes them, page through collections in a grid, and insert or edit whole documents as Extended JSON. Rename or remove a field across a collection, with every statement shown before it runs.

Works on MacDriver downloads the first time you pick MongoDB

Free to use, with optional paid plansOpen source (AGPL-3.0)

At a glance

Query language
MQL
Driver
Downloads on first use
Connect with
Host and port, SSH tunnel, SSL/TLS, AWS IAM
Default port
27017
Minimum version
4.0, enforced: older servers are refused
iPhone and iPad
Does not open
The Insert Document sheet over a MongoDB events collection, with a document written in Extended JSON.

Connect

List one host, or several host:port pairs for a replica set, and the primary is found for you. You can also paste a mongodb:// or mongodb+srv:// URL. Sign in with SCRAM-SHA-1, SCRAM-SHA-256, X.509 or AWS IAM, and set Auth Database when your user is defined in admin but you browse another database.

A host ending in .mongodb.net turns on SRV and TLS for you, which MongoDB Atlas requires. Add your IP address to the cluster’s access list first: traffic from an address that is not on it times out rather than failing.

New connections start with TLS off, and the driver has no fallback, so Preferred behaves as Required. Read Preference and Write Concern are set per connection, and the write concern goes out with every insert, update and delete, from the shell or from a grid save.

Through an SSH tunnel, only the first host in the list is used, so replica set discovery and failover are off for that session.

Query and edit documents

The query tab is a JavaScript shell that accepts mongosh syntax: unquoted keys, regex literals, ISODate(), variables, loops and forEach. It runs inside TablePro, so nothing else needs installing, and a variable you define stays available in every tab on the connection until you disconnect. Autocomplete offers collections, methods, nested field paths and the $ operators valid at the cursor.

A collection opens as a grid, with top-level fields as columns and nested objects as Extended JSON. An edited cell keeps its field’s type, so a date stays a date and an ObjectId stays an ObjectId, and an edit inside a nested object writes only the path that changed, such as address.city.

Insert Document and Edit Document take a whole document as Extended JSON. Edit Document reads it from the server again, and if someone changed or deleted it after the sheet opened, nothing is saved and the sheet says so. Remove Field on a cell sends $unset.

The filter bar reaches into nested objects and arrays of objects, so customer.country and items.sku filter directly. A field holding GeoJSON opens on the Map view.

Safe Mode treats every statement on a MongoDB connection as a write, because the driver cannot open a read-only session. The Alert and Safe Mode levels confirm each one, and Read-Only blocks them all.

Collections, indexes and validators

The Structure tab lists each index with its fields in key order and its kind, such as hashed, text, 2dsphere or wildcard. Show DDL writes the createIndex calls that rebuild them, with every option the server reports.

Rename or remove a field across a whole collection from the same tab. Each change is one updateMany, shown in Preview SQL, and a field the $jsonSchema validator declares changes there too. The save is refused before anything is written when an index, a search index or a view still uses the name.

New Table creates a collection whose fields become a $jsonSchema validator, then builds the indexes you list. Views and time-series collections appear in the sidebar, and views open read-only.

Back up

Backup Dump writes each database you tick to a gzipped archive with mongodump, using the connection’s hosts, Auth Database, SRV and TLS settings, and a dump can be narrowed to single collections. Restore Dump runs mongorestore into the database you pick and keeps what is already there. Install the MongoDB Database Tools on your Mac first.

Move data

Import CSV, TSV, JSON, JSONL and XLSX files into a collection. Export collections or results as CSV, JSON, XLSX, Markdown, HTML, XML and MQL.

An MQL export is a .js file of insertMany calls that runs in mongosh, with each collection’s indexes and validator if you tick them. Top-level values keep their type, but a typed value nested in a subdocument or array, such as an ObjectId inside an array, is written as a string: export those collections as JSON or back them up with mongodump instead.

iPhone and iPad

The iPhone and iPad app has no MongoDB driver. MongoDB connections synced from a Mac appear in its list but do not open.

Limits

  • Transactions are not supported.
  • GridFS and change streams are not supported.
  • There is no visual aggregation pipeline builder. Write aggregate() in the shell.

Other tools

MongoDB Compass

Version 1.52.0, released October 2, 2026FreeSource available (SSPL-1.0)Platforms: Mac, Windows and Linux

MongoDB Compass is MongoDB’s own GUI. It builds aggregation pipelines stage by stage with a preview after each stage, analyses a collection’s schema from a sample of its documents, and draws explain plans. Choose it when you shape pipelines visually or study one collection’s structure; TablePro fits when MongoDB is one of several databases you work with in the same app. Compass can also write a query from a question in plain language.

TablePro vs MongoDB Compass

Sources: MongoDB Compass, MongoDB Compass repository, MongoDB Compass releases, MongoDB Compass download, Download and install Compass, Compass AI and data usage, Data modeling in MongoDB Compass

Facts about other tools checked October 8, 2026.

Questions about MongoDB

Is the query tab mongosh?

No. It is a shell that accepts mongosh syntax and runs inside TablePro on JavaScriptCore. Most mongosh code runs as written. One difference: a whole number outside the 32-bit range is stored as a 64-bit integer, where mongosh stores a double, so wrap it in Double() to match.

How do I see a query plan?

Chain .explain("executionStats") onto the cursor in the query tab. The plan comes back as a document; MongoDB connections have no plan diagram.

How do I list database users?

Run db.runCommand({usersInfo: 1}). The shell does not parse db.getUsers() or db.createUser().

Get TablePro

The Mac app is free to download and use. A Starter or Team plan adds optional features.
Download for Mac

Requires macOS 13 Ventura or later

See pricing