mongodb:// and mongodb+srv:// connection URIs.
Standalone MongoDB has been verified end to end. Atlas, replica-set, sharded,
and live TLS deployments should be validated in your environment before
production use.
Required access
Use a dedicated read-only user scoped to the databases that Arcyria needs. For a self-managed deployment, create the user in the authentication database:Connection fields
The complete URI is encrypted as one secret. It is masked after saving and is
not returned to the browser. On edit, leave the masked URI unchanged unless you
intend to rotate it.
Common URI options include
authSource, replicaSet, readPreference,
tls=true, and provider certificate options. Arcyria passes supported URI
options to PyMongo rather than splitting them into separate fields.
Create the connection
- Open Connections.
- Click + New Connection.
- Set the role to Source.
- Choose MongoDB.
- Enter the complete URI and database.
- Click Test Connection.
- Save only after the test succeeds.
Discover and preview
After creating a pipeline:- Open the pipeline Source tab.
- Click Discover catalog.
- Select the required
database.collectionstreams. - Choose Full Table or Incremental for each collection.
- For Incremental, select a stable cursor such as
updated_ator_id. - Preview representative documents and confirm the inferred field types.
- Click Save stream settings.
_id primary-key semantics.
Full Table mode
Use Full Table for an initial backfill, small reference collection, or deliberate snapshot. Documents are streamed from MongoDB in bounded batches rather than loaded into memory as one collection.Incremental mode
Use Incremental when the collection has a stable cursor:updated_atfor inserts and updates;created_atfor append-only collections; or_idwhen ObjectId creation order matches the required extraction order.
- The first run loads the whole collection in
_idorder, in chunks (500,000 documents by default). Large collections continue in follow-up runs, and the load resumes where it stopped after a failure. Documents without a cursor value are included in this first load. - After that, each run first notes the highest cursor value in the collection, then reads documents from the last saved value up to that one. Documents written during the run are read by the next run.
- Documents that share the saved value are read again and matched by the destination’s Upsert key, so ties are never skipped. A run with no new documents reads nothing.
- An optional lookback re-reads a window before the saved value, for writes that arrive late. It works for date, number, ObjectId, and timestamp cursors.
created_at or
_id, does not see updates. Use a field your application sets on every update.
Arcyria advances checkpoint state only after a successful delivery. A failed
run does not replace the previous successful checkpoint. Checkpoints from
earlier versions continue from their saved value without reloading the
collection.
Deleted documents
Incremental runs do not see deleted documents. Turn on delete detection in the stream’s options to compare_id values on a schedule. It needs the destination key to be _id.
BSON handling
The source handles common BSON values, including:- ObjectId and Decimal128;
- dates and BSON timestamps;
- binary values;
- arrays and nested documents;
- regular expressions and DBRef values; and
- null, missing, and mixed-schema fields.
Current limitations
- Change Streams and log-based CDC are not enabled.
- Arbitrary multi-field incremental checkpoints are not exposed in the UI.
- Atlas, replica sets, sharded clusters, and live TLS certificate scenarios have not completed the production certification matrix.
- MongoDB-to-PostgreSQL and MongoDB-to-MongoDB have automated evidence; other destination pairings and manual UI validation remain pending owner checks.
Troubleshooting
Continue with MongoDB destination or the
MongoDB and PostgreSQL verified paths.

