Additional MongoDB Driver Options
    • Dark
      Light
    • PDF

    Additional MongoDB Driver Options

    • Dark
      Light
    • PDF

    Article summary

    It's possible to provide extra connection settings to the Mongo driver that are not covered in the URI connection string. Set the the MONGO_OPTIONS environment variable to a JSON string.

    For example:

    # we need to pass the contents of PEMs, etc in a format compatible with JSON, so add '\n' to the end of each line.
    export TLS_CRT=$(cat /pems/tls.crt | awk '{printf "%s\\n",$0} END {print ""}')
    export PEM=$(cat /pems/mongo.pem | awk '{printf "%s\\n",$0} END {print ""}')
    export KEY=$(cat /pems/mongo.key | awk '{printf "%s\\n",$0} END {print ""}')
    # now insert all the credentials into the JSON OPTIONS string
    export MONGO_OPTIONS='{"sslCA":["'${TLS_CRT}'"],"sslCert":"'${PEM}'","sslKey":"'${KEY}'"}'

    You might want to do this, for example, if you're backing Rocket.Chat with a TLS-secured Mongo replica set and need to pass certificates/PEM files, etc. to connect to it.

    If you see the following error during startup:

    MongoTimeoutError: Server selection timed out after 10000 ms

    You can try increasing server selection time by adding the following property to MONGO_OPTIONS to change the default value of 10000 to 20000:

    MONGO_OPTIONS='{ "serverSelectionTimeoutMS": 20000 }'


    Was this article helpful?

    ESC

    Eddy AI, facilitating knowledge discovery through conversational intelligence