{
  "component": {
    "kind": "component",
    "name": "mongodb",
    "title": "MongoDB",
    "description": "Perform operations on MongoDB documents and collections.",
    "deprecated": false,
    "firstVersion": "2.19.0",
    "label": "database",
    "javaType": "org.apache.camel.component.mongodb.MongoDbComponent",
    "supportLevel": "Stable",
    "groupId": "org.apache.camel",
    "artifactId": "camel-mongodb",
    "version": "4.0.5",
    "scheme": "mongodb",
    "extendsScheme": "",
    "syntax": "mongodb:connectionBean",
    "async": false,
    "api": false,
    "consumerOnly": false,
    "producerOnly": false,
    "lenientProperties": false
  },
  "componentProperties": {
    "mongoConnection": { "index": 0, "kind": "property", "displayName": "Mongo Connection", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.mongodb.client.MongoClient", "deprecated": false, "autowired": true, "secret": false, "description": "Shared client used for connection. All endpoints generated from the component will share this connection client." },
    "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
    "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
  },
  "headers": {
    "CamelMongoDbOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "org.apache.camel.component.mongodb.MongoDbOperation or String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation this endpoint will execute against MongoDB.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#OPERATION_HEADER" },
    "CamelMongoDbResultTotalSize": { "index": 1, "kind": "header", "displayName": "", "group": "producer findAll", "label": "producer findAll", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of objects matching the query. This does not take limit\/skip into consideration.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#RESULT_TOTAL_SIZE" },
    "CamelMongoDbResultPageSize": { "index": 2, "kind": "header", "displayName": "", "group": "producer findAll", "label": "producer findAll", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of objects matching the query. This does not take limit\/skip into consideration.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#RESULT_PAGE_SIZE" },
    "CamelMongoDbCriteria": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "org.bson.conversions.Bson", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The query to execute against MongoDB.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#CRITERIA" },
    "CamelMongoDbFieldsProjection": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "org.bson.conversions.Bson", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The project document.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#FIELDS_PROJECTION" },
    "CamelMongoDbBatchSize": { "index": 5, "kind": "header", "displayName": "", "group": "producer findAll aggregate", "label": "producer findAll aggregate", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of documents per batch.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#BATCH_SIZE" },
    "CamelMongoDbNumToSkip": { "index": 6, "kind": "header", "displayName": "", "group": "producer findAll", "label": "producer findAll", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Discards a given number of elements at the beginning of the cursor.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#NUM_TO_SKIP" },
    "CamelMongoDbMultiUpdate": { "index": 7, "kind": "header", "displayName": "", "group": "producer update", "label": "producer update", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "If the update should be applied to all objects matching. See http:\/\/www.mongodb.org\/display\/DOCS\/AtomicOperationsAtomic Operations", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#MULTIUPDATE" },
    "CamelMongoDbUpsert": { "index": 8, "kind": "header", "displayName": "", "group": "producer update", "label": "producer update", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "If the database should create the element if it does not exist", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#UPSERT" },
    "CamelMongoDbRecordsAffected": { "index": 9, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of modified or deleted records", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#RECORDS_AFFECTED" },
    "CamelMongoDbRecordsMatched": { "index": 10, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of documents matched by the query.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#RECORDS_MATCHED" },
    "CamelMongoDbSortBy": { "index": 11, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Bson or Document", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The sort criteria.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#SORT_BY" },
    "CamelMongoDbDatabase": { "index": 12, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of the MongoDB database to target", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#DATABASE" },
    "CamelMongoDbCollection": { "index": 13, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of the MongoDB collection to bind to this endpoint", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#COLLECTION" },
    "CamelMongoDbCollectionIndex": { "index": 14, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "List<Bson>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The list of dynamic indexes to create on the fly", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#COLLECTION_INDEX" },
    "CamelMongoDbLimit": { "index": 15, "kind": "header", "displayName": "", "group": "producer findAll", "label": "producer findAll", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Limits the number of elements returned.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#LIMIT" },
    "CamelMongoDbTailable": { "index": 16, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Is from tailable", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#FROM_TAILABLE" },
    "CamelMongoWriteResult": { "index": 17, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Object", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The result of the write operation", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#WRITERESULT" },
    "CamelMongoOid": { "index": 18, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Object or List<Object>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The OID(s) of the inserted record(s)", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#OID" },
    "CamelMongoDbDistinctQueryField": { "index": 19, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The specified field name fow which we want to get the distinct values.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#DISTINCT_QUERY_FIELD" },
    "CamelMongoDbAllowDiskUse": { "index": 20, "kind": "header", "displayName": "", "group": "producer findAll aggregate", "label": "producer findAll aggregate", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Sets allowDiskUse MongoDB flag. This is supported since MongoDB Server 4.3.1. Using this header with older MongoDB Server version can cause query to fail.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#ALLOW_DISK_USE" },
    "CamelMongoDbBulkOrdered": { "index": 21, "kind": "header", "displayName": "", "group": "producer bulkWrite", "label": "producer bulkWrite", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "TRUE", "description": "Perform an ordered or unordered operation execution.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#BULK_ORDERED" },
    "_id": { "index": 22, "kind": "header", "displayName": "", "group": "consumer changeStreams", "label": "consumer changeStreams", "required": false, "javaType": "org.bson.types.ObjectId", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "A document that contains the _id of the document created or modified by the insert, replace, delete, update operations (i.e. CRUD operations). For sharded collections, also displays the full shard key for the document. The _id field is not repeated if it is already a part of the shard key.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#MONGO_ID" },
    "CamelMongoDbStreamOperationType": { "index": 23, "kind": "header", "displayName": "", "group": "consumer changeStreams", "label": "consumer changeStreams", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The type of operation that occurred. Can be any of the following values: insert, delete, replace, update, drop, rename, dropDatabase, invalidate.", "constantName": "org.apache.camel.component.mongodb.MongoDbConstants#STREAM_OPERATION_TYPE" }
  },
  "properties": {
    "connectionBean": { "index": 0, "kind": "path", "displayName": "Connection Bean", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Sets the connection bean reference used to lookup a client for connecting to a database if no hosts parameter is present." },
    "collection": { "index": 1, "kind": "parameter", "displayName": "Collection", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the name of the MongoDB collection to bind to this endpoint" },
    "collectionIndex": { "index": 2, "kind": "parameter", "displayName": "Collection Index", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the collection index (JSON FORMAT : { field1 : order1, field2 : order2})" },
    "createCollection": { "index": 3, "kind": "parameter", "displayName": "Create Collection", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Create collection during initialisation if it doesn't exist. Default is true." },
    "database": { "index": 4, "kind": "parameter", "displayName": "Database", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the name of the MongoDB database to target" },
    "hosts": { "index": 5, "kind": "parameter", "displayName": "Hosts", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Host address of mongodb server in host:port format. It's possible also use more than one address, as comma separated list of hosts: host1:port1,host2:port2. If the hosts parameter is specified, the provided connectionBean is ignored." },
    "mongoConnection": { "index": 6, "kind": "parameter", "displayName": "Mongo Connection", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.mongodb.client.MongoClient", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the connection bean used as a client for connecting to a database." },
    "operation": { "index": 7, "kind": "parameter", "displayName": "Operation", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.mongodb.MongoDbOperation", "enum": [ "findById", "findOneByQuery", "findAll", "findDistinct", "insert", "save", "update", "remove", "bulkWrite", "aggregate", "getDbStats", "getColStats", "count", "command" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the operation this endpoint will execute against MongoDB." },
    "outputType": { "index": 8, "kind": "parameter", "displayName": "Output Type", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.component.mongodb.MongoDbOutputType", "enum": [ "DocumentList", "Document", "MongoIterable" ], "deprecated": false, "autowired": false, "secret": false, "description": "Convert the output of the producer to the selected type : DocumentList Document or MongoIterable. DocumentList or MongoIterable applies to findAll and aggregate. Document applies to all other operations." },
    "consumerType": { "index": 9, "kind": "parameter", "displayName": "Consumer Type", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Consumer type." },
    "bridgeErrorHandler": { "index": 10, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
    "exceptionHandler": { "index": 11, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
    "exchangePattern": { "index": 12, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
    "lazyStartProducer": { "index": 13, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    "appName": { "index": 14, "kind": "parameter", "displayName": "App Name", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the logical name of the application. The application name may be used by the client to identify the application to the server, for use in server logs, slow query logs, and profile collection. Default: null" },
    "compressors": { "index": 15, "kind": "parameter", "displayName": "Compressors", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies one or more compression algorithms that the driver will attempt to use to compress requests sent to the connected MongoDB instance. Possible values include: zlib, snappy, and zstd. Default: null" },
    "connectTimeoutMS": { "index": 16, "kind": "parameter", "displayName": "Connect Timeout MS", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "description": "Specifies the maximum amount of time, in milliseconds, the Java driver waits for a connection to open before timing out. A value of 0 instructs the driver to never time out while waiting for a connection to open. Default: 10000 (10 seconds)" },
    "cursorRegenerationDelay": { "index": 17, "kind": "parameter", "displayName": "Cursor Regeneration Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "MongoDB tailable cursors will block until new data arrives. If no new data is inserted, after some time the cursor will be automatically freed and closed by the MongoDB server. The client is expected to regenerate the cursor if needed. This value specifies the time to wait before attempting to fetch a new cursor, and if the attempt fails, how long before the next attempt is made. Default value is 1000ms." },
    "directConnection": { "index": 18, "kind": "parameter", "displayName": "Direct Connection", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies that the driver must connect to the host directly. Default: false" },
    "dynamicity": { "index": 19, "kind": "parameter", "displayName": "Dynamicity", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether this endpoint will attempt to dynamically resolve the target database and collection from the incoming Exchange properties. Can be used to override at runtime the database and collection specified on the otherwise static endpoint URI. It is disabled by default to boost performance. Enabling it will take a minimal performance hit." },
    "heartbeatFrequencyMS": { "index": 20, "kind": "parameter", "displayName": "Heartbeat Frequency MS", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "heartbeatFrequencyMS controls when the driver checks the state of the MongoDB deployment. Specify the interval (in milliseconds) between checks, counted from the end of the previous check until the beginning of the next one. Default: Single-threaded drivers: 60 seconds. Multi-threaded drivers: 10 seconds." },
    "loadBalanced": { "index": 21, "kind": "parameter", "displayName": "Load Balanced", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If true the driver will assume that it's connecting to MongoDB through a load balancer." },
    "localThresholdMS": { "index": 22, "kind": "parameter", "displayName": "Local Threshold MS", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "15", "description": "The size (in milliseconds) of the latency window for selecting among multiple suitable MongoDB instances. Default: 15 milliseconds." },
    "maxConnecting": { "index": 23, "kind": "parameter", "displayName": "Max Connecting", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "2", "description": "Specifies the maximum number of connections a pool may be establishing concurrently. Default: 2" },
    "maxIdleTimeMS": { "index": 24, "kind": "parameter", "displayName": "Max Idle Time MS", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "description": "Specifies the maximum amount of time, in milliseconds, the Java driver will allow a pooled connection to idle before closing the connection. A value of 0 indicates that there is no upper bound on how long the driver can allow a pooled collection to be idle. Default: 0" },
    "maxLifeTimeMS": { "index": 25, "kind": "parameter", "displayName": "Max Life Time MS", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "description": "Specifies the maximum amount of time, in milliseconds, the Java driver will continue to use a pooled connection before closing the connection. A value of 0 indicates that there is no upper bound on how long the driver can keep a pooled connection open. Default: 0" },
    "maxPoolSize": { "index": 26, "kind": "parameter", "displayName": "Max Pool Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "100", "description": "The maximum number of connections in the connection pool. The default value is 100." },
    "maxStalenessSeconds": { "index": 27, "kind": "parameter", "displayName": "Max Staleness Seconds", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "-1", "description": "Specifies, in seconds, how stale a secondary can be before the driver stops communicating with that secondary. The minimum value is either 90 seconds or the heartbeat frequency plus 10 seconds, whichever is greater. For more information, see the server documentation for the maxStalenessSeconds option. Not providing a parameter or explicitly specifying -1 indicates that there should be no staleness check for secondaries. Default: -1" },
    "minPoolSize": { "index": 28, "kind": "parameter", "displayName": "Min Pool Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "description": "Specifies the minimum number of connections that must exist at any moment in a single connection pool. Default: 0" },
    "readPreference": { "index": 29, "kind": "parameter", "displayName": "Read Preference", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "PRIMARY", "PRIMARY_PREFERRED", "SECONDARY", "SECONDARY_PREFERRED", "NEAREST" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PRIMARY", "description": "Configure how MongoDB clients route read operations to the members of a replica set. Possible values are PRIMARY, PRIMARY_PREFERRED, SECONDARY, SECONDARY_PREFERRED or NEAREST" },
    "readPreferenceTags": { "index": 30, "kind": "parameter", "displayName": "Read Preference Tags", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "A representation of a tag set as a comma-separated list of colon-separated key-value pairs, e.g. dc:ny,rack:1. Spaces are stripped from beginning and end of all keys and values. To specify a list of tag sets, using multiple readPreferenceTags, e.g. readPreferenceTags=dc:ny,rack:1;readPreferenceTags=dc:ny;readPreferenceTags= Note the empty value for the last one, which means match any secondary as a last resort. Order matters when using multiple readPreferenceTags." },
    "replicaSet": { "index": 31, "kind": "parameter", "displayName": "Replica Set", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies that the connection string provided includes multiple hosts. When specified, the driver attempts to find all members of that set." },
    "retryReads": { "index": 32, "kind": "parameter", "displayName": "Retry Reads", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Specifies that the driver must retry supported read operations if they fail due to a network error. Default: true" },
    "retryWrites": { "index": 33, "kind": "parameter", "displayName": "Retry Writes", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Specifies that the driver must retry supported write operations if they fail due to a network error. Default: true" },
    "serverSelectionTimeoutMS": { "index": 34, "kind": "parameter", "displayName": "Server Selection Timeout MS", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "description": "Specifies how long (in milliseconds) to block for server selection before throwing an exception. Default: 30,000 milliseconds." },
    "socketTimeoutMS": { "index": 35, "kind": "parameter", "displayName": "Socket Timeout MS", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0", "description": "Specifies the maximum amount of time, in milliseconds, the Java driver will wait to send or receive a request before timing out. A value of 0 instructs the driver to never time out while waiting to send or receive a request. Default: 0" },
    "srvMaxHosts": { "index": 36, "kind": "parameter", "displayName": "Srv Max Hosts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "The maximum number of hosts from the SRV record to connect to." },
    "srvServiceName": { "index": 37, "kind": "parameter", "displayName": "Srv Service Name", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "mongodb", "description": "Specifies the service name of the SRV resource recordsthe driver retrieves to construct your seed list. You must use the DNS Seed List Connection Format in your connection URI to use this option. Default: mongodb" },
    "tls": { "index": 38, "kind": "parameter", "displayName": "Tls", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies that all communication with MongoDB instances should use TLS. Supersedes the ssl option. Default: false" },
    "tlsAllowInvalidHostnames": { "index": 39, "kind": "parameter", "displayName": "Tls Allow Invalid Hostnames", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies that the driver should allow invalid hostnames in the certificate for TLS connections. Supersedes sslInvalidHostNameAllowed. Has the same effect as tlsInsecure by setting tlsAllowInvalidHostnames to true. Default: false" },
    "waitQueueTimeoutMS": { "index": 40, "kind": "parameter", "displayName": "Wait Queue Timeout MS", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "120000", "description": "Specifies the maximum amount of time, in milliseconds that a thread may wait for a connection to become available. Default: 120000 (120 seconds)" },
    "writeConcern": { "index": 41, "kind": "parameter", "displayName": "Write Concern", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "ACKNOWLEDGED", "W1", "W2", "W3", "UNACKNOWLEDGED", "JOURNALED", "MAJORITY" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "ACKNOWLEDGED", "description": "Configure the connection bean with the level of acknowledgment requested from MongoDB for write operations to a standalone mongod, replicaset or cluster. Possible values are ACKNOWLEDGED, W1, W2, W3, UNACKNOWLEDGED, JOURNALED or MAJORITY." },
    "writeResultAsHeader": { "index": 42, "kind": "parameter", "displayName": "Write Result As Header", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "In write operations, it determines whether instead of returning WriteResult as the body of the OUT message, we transfer the IN message to the OUT and attach the WriteResult as a header." },
    "zlibCompressionLevel": { "index": 43, "kind": "parameter", "displayName": "Zlib Compression Level", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the degree of compression that Zlib should use to decrease the size of requests to the connected MongoDB instance. The level can range from -1 to 9, with lower values compressing faster (but resulting in larger requests) and larger values compressing slower (but resulting in smaller requests). Default: null" },
    "fullDocument": { "index": 44, "kind": "parameter", "displayName": "Full Document", "group": "changeStream", "label": "consumer,changeStream", "required": false, "type": "object", "javaType": "com.mongodb.client.model.changestream.FullDocument", "enum": [ "default", "updateLookup", "required", "whenAvailable" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "default", "description": "Specifies whether changeStream consumer include a copy of the full document when modified by update operations. Possible values are default, updateLookup, required and whenAvailable." },
    "streamFilter": { "index": 45, "kind": "parameter", "displayName": "Stream Filter", "group": "changeStream", "label": "consumer,changeStream", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filter condition for change streams consumer." },
    "authSource": { "index": 46, "kind": "parameter", "displayName": "Auth Source", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The database name associated with the user's credentials." },
    "password": { "index": 47, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "User password for mongodb connection" },
    "username": { "index": 48, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Username for mongodb connection" },
    "persistentId": { "index": 49, "kind": "parameter", "displayName": "Persistent Id", "group": "tail", "label": "consumer,tail", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "One tail tracking collection can host many trackers for several tailable consumers. To keep them separate, each tracker should have its own unique persistentId." },
    "persistentTailTracking": { "index": 50, "kind": "parameter", "displayName": "Persistent Tail Tracking", "group": "tail", "label": "consumer,tail", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enable persistent tail tracking, which is a mechanism to keep track of the last consumed message across system restarts. The next time the system is up, the endpoint will recover the cursor from the point where it last stopped slurping records." },
    "tailTrackCollection": { "index": 51, "kind": "parameter", "displayName": "Tail Track Collection", "group": "tail", "label": "consumer,tail", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Collection where tail tracking information will be persisted. If not specified, MongoDbTailTrackingConfig#DEFAULT_COLLECTION will be used by default." },
    "tailTrackDb": { "index": 52, "kind": "parameter", "displayName": "Tail Track Db", "group": "tail", "label": "consumer,tail", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Indicates what database the tail tracking mechanism will persist to. If not specified, the current database will be picked by default. Dynamicity will not be taken into account even if enabled, i.e. the tail tracking database will not vary past endpoint initialisation." },
    "tailTrackField": { "index": 53, "kind": "parameter", "displayName": "Tail Track Field", "group": "tail", "label": "consumer,tail", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Field where the last tracked value will be placed. If not specified, MongoDbTailTrackingConfig#DEFAULT_FIELD will be used by default." },
    "tailTrackIncreasingField": { "index": 54, "kind": "parameter", "displayName": "Tail Track Increasing Field", "group": "tail", "label": "consumer,tail", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Correlation field in the incoming record which is of increasing nature and will be used to position the tailing cursor every time it is generated. The cursor will be (re)created with a query of type: tailTrackIncreasingField greater than lastValue (possibly recovered from persistent tail tracking). Can be of type Integer, Date, String, etc. NOTE: No support for dot notation at the current time, so the field should be at the top level of the document." }
  }
}
