Quick Setup
1
Create Connection
Click New Connection, select MongoDB, enter hosts and credentials, and click Create
2
Test Connection
Click Test Connection to verify
Connection Settings
The form has no Database field. On connect TablePro opens the first non-system database it finds, and Cmd+K switches to another. A database in a connection URL path (
mongodb://host:27017/mydb) is used instead.
Advanced: Auth Database (usually admin), Read Preference, Write Concern, Use SRV Record, and Replica Set name.

MongoDB connection form
MongoDB Atlas (SRV)
The Use SRV Record toggle in Advanced connects with themongodb+srv:// scheme. For hosts ending in .mongodb.net, TablePro enables SRV automatically and turns TLS on if the SSL mode is Disabled, since Atlas requires both. An Atlas connection needs only the cluster hostname, username, and password.
Replica Sets
The Hosts field accepts multiplehost:port pairs separated by commas (for example host1:27017,host2:27017,host3:27017). TablePro discovers the primary automatically and routes writes there. Set the replica set name in Advanced.
You can also paste a multi-host URI directly:
Over an SSH tunnel TablePro connects to the first host only and drops the rest of the list. Replica set discovery and failover are off for that session.
SSL/TLS
The MongoDB driver has no TLS fallback. Preferred behaves the same as Required (the SSL pane shows a warning). For unencrypted local instances, use Disabled or SSH tunneling. See SSL/TLS for details.Connection URL
mongodb+srv:// scheme resolves hosts through DNS SRV records and does not allow a port. If you paste an SRV URL that includes one (for example cluster.mongodb.net:27017), TablePro strips it before connecting. The plain mongodb:// scheme keeps any port you provide.
See Connection URL Reference for all parameters.
Features
Collection Browsing: Sidebar shows all collections. Click to view documents in the data grid. Top-level fields render as columns, nested objects and arrays as formatted JSON, ObjectIds as strings. The grid schema is inferred by sampling documents. Views: New View in the sidebar opens a query tab with adb.createView("view_name", "source_collection", [pipeline]) template. Editing a view definition pre-fills a db.runCommand({"collMod": ...}) command.
Explain: Press Cmd+Option+E on an MQL statement. TablePro converts find, aggregate, countDocuments, update, delete, and findOneAnd* calls into db.runCommand({"explain": ..., "verbosity": "executionStats"}).
MQL Shell Queries: Filters and pipelines are parsed as JSON and Extended JSON, not JavaScript. Quote every key, operators included: {age: {$gte: 18}} fails with a parse error. mongosh helpers like ISODate("2025-01-01") fail too; write {"$date": "2025-01-01T00:00:00Z"}. The editor has no comment syntax, so a // line becomes part of the statement.
Find with a filter:
find, findOne, aggregate, countDocuments/count, insertOne/insertMany, updateOne/updateMany, replaceOne, deleteOne/deleteMany, findOneAndUpdate/findOneAndReplace/findOneAndDelete, createIndex, dropIndex, drop; database-level getCollectionNames/listCollections, createCollection, dropDatabase, version, stats. Anything else goes through db.runCommand({...}) or db.adminCommand({...}). Unlisted shell methods (for example distinct or getUsers) return an unsupported-method error.
Troubleshooting
Connection refused: Check MongoDB is running (brew services start mongodb-community), verify host/port in mongod.conf, check bindIp setting.
Auth failed: Verify username, password, auth database, and auth mechanism. The MQL editor does not parse db.getUsers() or db.createUser(); inspect users with db.runCommand({"usersInfo": 1}) or manage them in mongosh.
Timeout: Verify host/port, check network and firewall, whitelist your IP in MongoDB Atlas.
Limitations
- Transactions are not exposed. Statements always run standalone, on any topology.
- The grid schema is inferred by sampling documents, not read from a validator.
- GridFS buckets are not browsable.
- Change streams are unsupported.

