Search code examples
mongodbmongoosestrapi

Connect strapi with mongoose to a MongoDb (mLab)


I tried to connect Strapi to mLab with this database.js config but it doesn't work. I get the error :

ConnectorError: connector "strapi-hook-mongoose" not found: Cannot find module 'strapi-connector-strapi-hook-mongoose'

Here is my database.js config file :

{
  "defaultConnection": "default",
  "connections": {
    "default": {
      "connector": "strapi-hook-mongoose",
      "settings": {
        "database": "strapi-test",
        "host": "ds131914.mlab.com",
        "srv": false,
        "port": "31914",
        "username": "root",
        "password": "root010101"
      },
      "options": {
        "authenticationDatabase": "strapi-test"
      }
    }
  }
}

What should I do ?


Solution

  • After some search, it appers to me that this database.js config was from an old tutorial (this one). So to solve this probleme, you first need to install npm i -S strapi-connector-mongoose in order to install the right connecter.

    Now, you need to change you database.js config for the desire environement. In my case, it was production. So edit config/environement/production/database.js like this :

    {
      "defaultConnection": "default",
      "connections": {
        "default": {
          "connector": "mongoose",
          "settings": {
            "client": "mongo",
            "host": "ds131914.mlab.com",
            "port": "31914",
            "srv": false,
            "database": "strapi-test",
            "username": "root",
            "password": "root010101"
          },
          "options": {
            "authenticationDatabase": "strapi-test",
            "ssl": false
          }
        }
      }
    }
    
    

    Like this, it should work !