Warning: Accessing non-existent property 'MongoError' of module exports inside circular dependency

node.jsMongodbApiMongooseNodemon

node.js Problem Overview


I'm doing API with the node and using Mongoose. When I give a yarn dev to start my Nodemon, there is an error in Mongo, I have no idea how to solve this. Would anyone have any ideas? (I'm using the MongoDB Atlas database)

Right after the following error.

yarn run v1.22.5
$ nodemon src/server.js
[nodemon] 2.0.7
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node src/server.js`
(node:752) Warning: Accessing non-existent property 'MongoError' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:752) DeprecationWarning: Listening to events on the Db class has been deprecated and will be removed in the next major version.

I'm using the

  • Node v14.15.4
  • npm 6.14.10

My package.json

{
  "name": "backend",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "scripts": {
    "dev": "nodemon src/server.js"
  },
  "dependencies": {
    "express": "^4.17.1",
    "md5": "^2.3.0",
    "mongoose": "^5.11.16",
    "multer": "^1.4.2",
    "yarn": "^1.22.10"
  },
  "devDependencies": {
    "nodemon": "^2.0.7"
  }
}

node.js Solutions


Solution 1 - node.js

Just found this, warning can be ignored it will be fixed in the coming updates

> Hi All, > > Thanks for reporting! I hit the issue myself today while I was > working. I checked in with the Node driver team. The warning is safe > to ignore and will hopefully be gone in an upcoming release.

https://developer.mongodb.com/community/forums/t/warning-accessing-non-existent-property-mongoerror-of-module-exports-inside-circular-dependency/15411/6

Solution 2 - node.js

Same issue here but =>

npm install mongoose@5.11.15 

fix the error message.

Don't forget to check the package.json if it automatically changed it to 5.11.15, if not => type it manually.

Solution 3 - node.js

This is caused by a deprecation in the current version. Install the previous 5.11.15 version like this

npm i mongoose@5.11.15

and it should be listed in your dependencies like this

"mongoose": "^5.11.15"

Solution 4 - node.js

2021 and beyond

This was fixed (again) in 5.12.1. Update mongoose to this version to fix the warning.

https://github.com/Automattic/mongoose/issues/9900#issuecomment-802166493

Solution 5 - node.js

I think there was a change on the moongose dependency on version ^5.11.16. As I also experienced it. After using previous versions, the warning is gone.

"mongoose": "^5.11.15"

Solution 6 - node.js

UPDATE

MongoDB NodeJS Driver 3.6.5 is out.

npm i mongodb

The MongoError is fixed in this release. So feel free to update mongoose to 5.12.0

npm i mongoose

Solution 7 - node.js

If you are using version 3.6.4, there is a bug that generates this error. To resolve, for now, use version 3.6.3

Alert link: https://developer.mongodb.com/community/forums/t/warning-accessing-non-existent-property-mongoerror-of-module-exports-inside-circular-dependency/15411/5

Solution 8 - node.js

For me npm caused problems so you I chose to use yarn, you can do the same by running this command:

yarn add mongoose@5.11.15 

Solution 9 - node.js

Commenting out the following line inside node_modules/mongodb/lib/operations/operation.js helped me solving the problem.

const MongoError = require('../core').MongoError;

Solution 10 - node.js

It had happened to me as well. I had forgotten to start the MongoDB compass or any mongo server that you use. Also, do not forget to use your database where you have entered the data. In my case:

  1. use my-articles(where I stored my data)
  2. npm start( as I have used shortcut for 'npx nodemon –exec npx babel-node src/server.js as start in packeage.json)
  3. try to check whether you can find your data or not from the database.
  4. and check in the postman or whatever you use.
  5. Also, instead of using MongoClient.connect('mongodb://localhost:27017',{useNewUrlParser: true} , I used instead of using MongoClient.connect('mongodb://localhost/my-articles',{useNewUrlParser: true}.

The main thing is don't forget to start the mongodb server

Solution 11 - node.js

Just install mongoose again

npm install mongoose@5.11.15 

Solution 12 - node.js

This is caused by a deprecation in the current version.

Uninstall current mongoose version and run npm install [email protected].

This should fix the problem.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionGuilherme OliveiraView Question on Stackoverflow
Solution 1 - node.jsRumeshView Answer on Stackoverflow
Solution 2 - node.jsIvo TsochevView Answer on Stackoverflow
Solution 3 - node.jsSanRaphView Answer on Stackoverflow
Solution 4 - node.jslifeisfooView Answer on Stackoverflow
Solution 5 - node.jsjazzilllView Answer on Stackoverflow
Solution 6 - node.jsztomView Answer on Stackoverflow
Solution 7 - node.jsFelipe Kunsler de OliveiraView Answer on Stackoverflow
Solution 8 - node.jsBlessingView Answer on Stackoverflow
Solution 9 - node.jsBikalpaView Answer on Stackoverflow
Solution 10 - node.jsBijayView Answer on Stackoverflow
Solution 11 - node.jsabhishek TomerView Answer on Stackoverflow
Solution 12 - node.jsadam aliView Answer on Stackoverflow