Node.js 警告:访问不存在的属性';MongoError';循环依赖项中模块导出的数量
我正在用节点和Mongoose做API。当我给一个Node.js 警告:访问不存在的属性';MongoError';循环依赖项中模块导出的数量,node.js,mongodb,api,mongoose,nodemon,Node.js,Mongodb,Api,Mongoose,Nodemon,我正在用节点和Mongoose做API。当我给一个纱线开发来启动我的Nodemon时,Mongo中出现了一个错误,我不知道如何解决这个问题。有人有什么想法吗?(我正在使用MongoDB Atlas数据库) 就在以下错误之后 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): *.* [nod
纱线开发
来启动我的Nodemon时,Mongo中出现了一个错误,我不知道如何解决这个问题。有人有什么想法吗?(我正在使用MongoDB Atlas数据库)
就在以下错误之后
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.
我在用电话
- 节点v14.15.4
- npm 6.14.10
{
"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"
}
}
我认为版本^5.11.16上的moongose依赖项发生了变化。 因为我也经历过。 使用以前的版本后,警告消失
"mongoose": "^5.11.15"
刚刚发现这个警告,可以忽略它将在未来的更新中修复 大家好 谢谢你的报道!今天我在家的时候自己就开始讨论这个问题了 工作我与节点驱动程序团队进行了登记。警告是安全的 忽略,并有望在即将发布的版本中消失 这里也有同样的问题,但是=>
npm install mongoose@5.11.15
修复错误消息
如果package.json自动将其更改为5.11.15,请不要忘记检查它,否则=>请手动键入。这是由于当前版本中的弃用造成的。 像这样安装以前的5.11.15版本
npm i mongoose@5.11.15
"mongoose": "^5.11.15"
它应该像这样列在依赖项中
npm i mongoose@5.11.15
"mongoose": "^5.11.15"
对于我来说,
npm
导致了问题,因此我选择使用warn
,您可以通过运行以下命令执行相同操作:
yarn add mongoose@5.11.15
注释掉
node_modules/mongodb/lib/operations/operation.js中的以下一行帮助我解决了这个问题
const MongoError = require('../core').MongoError;
这也发生在我身上。我忘了启动MongoDB compass或您使用的任何mongo服务器。另外,不要忘记使用您输入数据的数据库。就我而言:
使用我的文章(我存储数据的地方)
npm启动(正如我在packeage.json中使用的“npx nodemon–exec npx babel node src/server.js”的快捷方式一样)
尝试检查是否可以从数据库中找到数据
请邮递员或你用的任何东西
另外,不要使用MongoClient.connect('mongodb://localhost:27017“,{useNewUrlParser:true},
我使用而不是使用MongoClient.connect('mongodb://localhost/my-articles“,{useNewUrlParser:true}
最重要的是不要忘记启动mongodb服务器如果您使用的是3.6.4版,则会有一个错误导致此错误。
现在,要解决这个问题,请使用版本3.6.3
警报链接:
只需重新安装mongoose即可
npm install mongoose@5.11.15
这是由当前版本中的弃用引起的
卸载当前mongoose版本并运行npm安装mongoose@5.11.15.
这将解决问题。更新
const MongoError = require('../core').MongoError;
出局了
在本版本中,MongoError
已修复。因此,请随时更新到5.12.0
npm i mongoose
2021
此问题已在中修复(再次)。请将mongoose更新到此版本以修复警告
我相信西班牙语和葡萄牙语有(较小的)堆栈溢出社区。如果您想在这里发布,请使用英语(您现在可以编辑您的问题).这回答了你的问题吗?这回答了你的问题吗?所以我假设我们应该忽略这个警告,直到他们在即将发布的版本中修复它,不是吗?下面是一个相关的问题列表