MongoDB

Add MongoDB in dFlow, deploy it, wire apps with MONGO reference variables, and understand multi-port public access when you Expose.

Written By Team dFlow

Last updated 3 days ago

MongoDB stores data as documents (similar to JSON). It’s a strong fit when your schema evolves often or you work heavily with nested structures.

Overview of databases in dFlow: Databases overview


On this page

  • When MongoDB is a good fit

  • Create and deploy

  • Overview credentials

  • Reference variables (MONGO_…)

  • Expose (multiple public ports)

  • Managing the service


When to choose MongoDB

Pick MongoDB when a document model fits your product better than rigid SQL tables, or your stack already uses MongoDB drivers and patterns.


Set up MongoDB in dFlow

  1. Applications β†’ Environment β†’ Add New β†’ Add service β†’ Database β†’ MongoDB.

  2. Create Service β†’ Deploy on the new service.

  3. Wait until Deploy completes; dFlow handles server setup for you.


Your connection details

After a successful deploy, Internal credentials include:

  • A connection URL (mongodb://…).

  • Username, password, hostname, port, and database name broken out for tools that need them.

Use the internal URL for apps in the same environment.


Link your app with reference variables

On an app or Docker service, open the Variables tab and use { } Reference variables. Example:

{{ my-mongo.MONGO_URI }}

Suffix

What it fills in

_URI

Internal connection URL

_NAME

Database from the URL path

_USERNAME

User

_PASSWORD

Password

_HOST

Internal host

_PORT

Internal port

_PUBLIC_HOST, _PUBLIC_PORT, _PUBLIC_URI

After Expose


Internet access (Expose)

MongoDB is a bit different from Postgres or MySQL: when you Expose, dFlow may open more than one public port on the server. You still use the same Expose button; Overview shows the public URL, host, and port information you need.

Tip: Keep using internal URLs for your apps on dFlow. Use Expose when something outside the environment must connect (backup tools, local scripts, partners).

Unexpose before Stop if the database was exposed.


Day-to-day management

Restart, Stop, and Expose / Unexpose follow the same dashboard rules as other databases (including Unexpose before Stop when public, and no Deploy button after the first successful provision). See Where things live in the dashboard.


Useful links