I tried to deploy a Node.js app to Heroku using Heroku CLI. However, I get an Application error with the following stack:
2020-07-04T13:27:53.894161+00:00 app[web.1]: 'Error: cyclic dependency detected',
2020-07-04T13:27:53.894162+00:00 app[web.1]: ' at serializeObject (/app/node_modules/bson/lib/bson/parser/serializer.js:296:33)',
2020-07-04T13:27:53.894162+00:00 app[web.1]: ' at serializeInto (/app/node_modules/bson/lib/bson/parser/serializer.js:776:17)',
2020-07-04T13:27:53.894162+00:00 app[web.1]: ' at serializeObject (/app/node_modules/bson/lib/bson/parser/serializer.js:308:18)',
2020-07-04T13:27:53.894163+00:00 app[web.1]: ' at serializeInto (/app/node_modules/bson/lib/bson/parser/serializer.js:776:17)',
2020-07-04T13:27:53.894163+00:00 app[web.1]: ' at serializeObject (/app/node_modules/bson/lib/bson/parser/serializer.js:308:18)',
2020-07-04T13:27:53.894163+00:00 app[web.1]: ' at serializeInto (/app/node_modules/bson/lib/bson/parser/serializer.js:776:17)',
2020-07-04T13:27:53.894164+00:00 app[web.1]: ' at serializeObject (/app/node_modules/bson/lib/bson/parser/serializer.js:308:18)',
2020-07-04T13:27:53.894164+00:00 app[web.1]: ' at serializeInto (/app/node_modules/bson/lib/bson/parser/serializer.js:776:17)',
2020-07-04T13:27:53.894164+00:00 app[web.1]: ' at serializeObject (/app/node_modules/bson/lib/bson/parser/serializer.js:308:18)',
2020-07-04T13:27:53.894165+00:00 app[web.1]: ' at serializeInto (/app/node_modules/bson/lib/bson/parser/serializer.js:776:17)',
2020-07-04T13:27:53.894165+00:00 app[web.1]: ' at serializeObject (/app/node_modules/bson/lib/bson/parser/serializer.js:308:18)',
2020-07-04T13:27:53.894166+00:00 app[web.1]: ' at serializeInto (/app/node_modules/bson/lib/bson/parser/serializer.js:776:17)',
2020-07-04T13:27:53.894166+00:00 app[web.1]: ' at serializeObject (/app/node_modules/bson/lib/bson/parser/serializer.js:308:18)',
2020-07-04T13:27:53.894166+00:00 app[web.1]: ' at serializeInto (/app/node_modules/bson/lib/bson/parser/serializer.js:776:17)',
2020-07-04T13:27:53.894167+00:00 app[web.1]: ' at serializeObject (/app/node_modules/bson/lib/bson/parser/serializer.js:308:18)',
2020-07-04T13:27:53.894167+00:00 app[web.1]: ' at serializeInto (/app/node_modules/bson/lib/bson/parser/serializer.js:776:17)'
I've used this connection string to connect to my MongoDB Atlas Cluster (Node.js driver version 2.2.12 or later):
mongodb://my_username:my_password@cluster0-*******.mongodb.net:27017,cluster0-********.mongodb.net:27017,cluster0-********.mongodb.net:27017/my_db?ssl=true&replicaSet=atlas-p3j3pz-shard-0&authSource=admin&retryWrites=true&w=majority
As recommended on Github, I tried to remove the retryWrites=true parameter but it didn't solve the issue. Also, when I add the autoIndex: false to mongoose.connect, I don't have the issue anymore but I receive an 500 Internal Server Error when I try to reach my API endpoints.
Any idea how to solve this?