
MongoDB Find
CertifiedQuery documents from MongoDB
MongoDB Find
Query documents from MongoDB
Executes find on a collection with optional projection, sort, skip, and limit. Filter/projection/sort accept BSON strings or maps rendered from Flow variables.
Results are fetched in-memory into the outputs by default. Set store to true for large results, which writes them as Ion to internal storage.
type: io.kestra.plugin.mongodb.FindExamples
id: mongodb_find
namespace: company.team
tasks:
- id: find
type: io.kestra.plugin.mongodb.Find
connection:
uri: "mongodb://root:example@localhost:27017/?authSource=admin"
database: "my_database"
collection: "my_collection"
filter:
_id:
$oid: 60930c39a982931c20ef6cd6
Find documents in MongoDB based on a filter condition using MongoDB Query Language.
id: filter_mongodb
namespace: company.team
tasks:
- id: filter
type: io.kestra.plugin.mongodb.Find
connection:
uri: mongodb://host.docker.internal:27017/
database: local
collection: pokemon
store: true
filter:
base_experience:
$gt: 100
Installation
Our standard Docker images already include this plugin. If you use a -slim image or another setup, install it with the following command:
kestractl plugins get io.kestra.plugin:plugin-mongodb --compatible-for $KESTRA_VERSION For kestractl, use your Kestra version with --compatible-for, or specify an exact plugin version.
For Kestra CLI, replace LATEST with a specific version or version range to pin the plugin version.
Properties
collection *string
MongoDB collection
connection *
MongoDB connection properties
io.kestra.plugin.mongodb.MongoDbConnection
Connection string to MongoDB server
URL format like mongodb://mongodb0.example.com: 27017
database *string
MongoDB database
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150filter object
Query filter
BSON string or map rendered before execution.
A null map entry is dropped when the flow is parsed; pass a JSON string when a null is needed, for example '{"deletedAt": null}'.
limit integerstring
Limit
Maximum documents returned.
objectIdFormat string
HEXHEXEXTENDED_JSONObjectId format
HEX returns ObjectIds as bare hex strings, as before. EXTENDED_JSON returns them as $oid wrappers, which Load writes back as ObjectIds, so a Find with store: true followed by Load keeps the type. Under EXTENDED_JSON, rows[0]._id becomes a map with $oid, for example {"$oid": "60930c39a982931c20ef6cd6"}. Defaults to HEX.
projection object
Projection
BSON string or map selecting fields to return. A null map entry is dropped when the flow is parsed; pass a JSON string when a null is needed.
skip integerstring
Skip
Documents to skip before returning results.
sort object
Sort
BSON string or map defining sort order. A null map entry is dropped when the flow is parsed; pass a JSON string when a null is needed.
store booleanstring
falseStore results
When true, writes the results as Ion to internal storage and returns their URI. When false, the default, returns every document in rows, held in memory and saved in the execution.
Keep false for small results: Kestra rejects task results above kestra.queue.message-protection.limit (1 MiB by default since 2.0), and the task logs a warning when the rows pass 1 MiB.
Outputs
rows array
Result rows
Present when store is false.
size integer
Rows fetched
uri string
uriStored result URI
Internal storage URI when store is true.
Metrics
records counter
countNumber of documents fetched from MongoDB