由于 URI 错误,无法连接到 MongoDB

Thi*_*san 24 javascript circular-dependency mongodb node.js

我试图在节点服务器上从 MongoDB运行 mongoDB 完整代码

我的 mongo 版本:4.4.3

节点版本:v15.7.0

我从 MongoDB 导入了入门代码,代码如下:

const { MongoClient } = require("mongodb");
// Connection URI
const uri =
  "mongodb+srv://sample-hostname:27017/?poolSize=20&writeConcern=majority";
// Create a new MongoClient
const client = new MongoClient(uri);
async function run() {
  try {
    // Connect the client to the server
    await client.connect();
    // Establish and verify connection
    await client.db("admin").command({ ping: 1 });
    console.log("Connected successfully to server");
  } finally {
    // Ensures that the client will close when you finish/error
    await client.close();
  }
}
run().catch(console.dir);
Run Code Online (Sandbox Code Playgroud)

在终端上,当我运行“node app.js”时,它会引发以下错误:

> (node:79653) Warning: Accessing non-existent property 'MongoError' of
> module exports inside circular dependency (Use `node --trace-warnings
> ...` to show where the warning was created) MongoParseError: URI does
> not have hostname, domain name and tld
>     at parseSrvConnectionString (/home/harmony/Desktop/FruitsProject/node_modules/mongodb/lib/core/uri_parser.js:50:21)
>     at parseConnectionString (/home/harmony/Desktop/FruitsProject/node_modules/mongodb/lib/core/uri_parser.js:594:12)
>     at connect (/home/harmony/Desktop/FruitsProject/node_modules/mongodb/lib/operations/connect.js:284:3)
>     at /home/harmony/Desktop/FruitsProject/node_modules/mongodb/lib/mongo_client.js:225:5
>     at maybePromise (/home/harmony/Desktop/FruitsProject/node_modules/mongodb/lib/utils.js:681:3)
>     at MongoClient.connect (/home/harmony/Desktop/FruitsProject/node_modules/mongodb/lib/mongo_client.js:221:10)
>     at run (/home/harmony/Desktop/FruitsProject/app.js:12:18)
>     at Object.<anonymous> (/home/harmony/Desktop/FruitsProject/app.js:21:1)
Run Code Online (Sandbox Code Playgroud)

kmg*_*mgt 40

该错误Accessing non-existent property 'MongoError' of > module exports inside circular dependency是由mongodb 3.6.4中的一个bug引起的

这里已经报道

回到 3.6.3 版对我有用:

npm uninstall mongodb --save
Run Code Online (Sandbox Code Playgroud)

安装版本 3.6.3

npm i mongodb@3.6.3
Run Code Online (Sandbox Code Playgroud)


Dr4*_*nys 12

对于搜索此警告的每个人,请不要担心,这只是一个版本错误,并且已经报告。只需卸载 3.6.4 版本并按照@kmgt 回答中的回答安装 3.6.3 版本。

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

https://github.com/Automattic/mongoose/issues/9900


小智 9

我按照建议降级了 MongoDB,但这并不能解决问题。

我也不得不降级猫鼬才能消除错误。

我降级为:

MongoDB 版本 3.6.3 猫鼬版本 5.11.15