Last active
May 29, 2020 09:11
-
-
Save derrickmehaffy/aea3c635e0b9704b14fd1693fc56fea2 to your computer and use it in GitHub Desktop.
Strapi MongoDB URI example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "defaultConnection": "default", | |
| "connections": { | |
| "default": { | |
| "connector": "mongoose", | |
| "settings": { | |
| "uri": "mongodb://strapi:[email protected]:27017,strapi-test-shard-00-01-rqvys.gcp.mongodb.net:27017,strapi-test-shard-00-02-rqvys.gcp.mongodb.net:27017/test?ssl=true&replicaSet=strapi-test-shard-0&authSource=admin&retryWrites=true&w=majority" | |
| }, | |
| "options": { | |
| "authenticationDatabase": "admin", | |
| "ssl": true | |
| } | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I actually finally managed to make this work using the URI string. Hopefully Strapi will update their official documentation now the stable release is out and things have changed quite a lot for deploying to Heroku.
Looks like the handling of environments has totally changed as has the reading the of environment variables.
In case anyone else stumbles on this thread here's my complete database file. This works for both production and local. I created a .env.production file to save all my environment variables in to test the connection locally. Then you'll need to copy them into Heroku as well. This can be done with the CLI or in the GUI for the webapp. I recommend using the GUI as the CLI was confused by some of the query params on the end of the string (at least for me).
module.exports = ({ env }) => ({ defaultConnection: "default", connections: { default: { connector: "mongoose", settings: { client: "mongo", uri: env("DATABASE_HOST"), host: env("DATABASE_HOST", "127.0.0.1"), srv: env.bool("DATABASE_SRV", false), port: env.int("DATABASE_PORT", 27017), database: env("DATABASE_NAME", "strapi_portfolio"), username: env("DATABASE_USERNAME", ""), password: env("DATABASE_PASSWORD", ""), }, options: { authenticationDatabase: env("AUTHENTICATION_DATABASE", null), ssl: env.bool("DATABASE_SSL", false), }, }, }, });