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

Javascript 由于URI错误,无法连接到MongoDB,javascript,node.js,mongodb,circular-dependency,Javascript,Node.js,Mongodb,Circular Dependency,我试图在节点服务器上运行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";

我试图在节点服务器上运行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);
在终端上,当我运行“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)
>(节点:79653)警告:访问的不存在属性“MongoError”
>模块在循环依赖项内导出(使用`节点--跟踪警告
>…`显示警告的创建位置)MongoParserError:URI
>没有主机名、域名和tld
>在parservconnectionstring(/home/harmony/Desktop/水果项目/node_modules/mongodb/lib/core/uri_parser.js:50:21)
>在parseConnectionString(/home/harmony/Desktop/frussproject/node_modules/mongodb/lib/core/uri_parser.js:594:12)
>在connect(/home/harmony/Desktop/水果项目/node_modules/mongodb/lib/operations/connect.js:284:3)
>at/home/harmony/Desktop/fruosproject/node_modules/mongodb/lib/mongo_client.js:225:5
>在maybePromise(/home/harmony/Desktop/水果项目/node_modules/mongodb/lib/utils.js:681:3)
>在MongoClient.connect(/home/harmony/Desktop/水果项目/node_modules/mongodb/lib/mongo_client.js:221:10)
>运行时(/home/harmony/Desktop/水果项目/app.js:12:18)
>反对。(/home/harmony/Desktop/水果项目/app.js:21:1)

在循环依赖项中访问>模块导出的不存在属性“MongoError”时出现的错误是由

已经有报道了

回到3.6.3版对我有用:

npm uninstall mongodb --save
安装版本3.6.3

npm i mongodb@3.6.3

对于搜索此警告的所有人,不要担心,这只是一个版本错误,已经有报告。只需卸载3.6.4版本,然后按照@kmgt answer上的回答安装3.6.3版本

更多详细信息:


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

我也不得不降低mongoose的等级以消除错误

我降级为:

MongoDB版本3.6.3
Mongoose 5.11.15版

您不必降级您的MongoDB,只需将Mongoose软件包降级到5.11.15版,如下所述:
我使用的是Mongo v4.4.3,只是降级mongoose对我有效。

我也有类似的错误,我在MacOS Catelina上运行:

(节点:3265)警告:在循环依赖项内访问模块导出的不存在属性“MongoError”(使用“节点--跟踪警告…”显示警告的创建位置)服务器在端口3000上启动

以前运行于:

节点:v14.15.4, mongodb:v4.4.3, 猫鼬:v5.11.18

将mongoose降级到v5.11.15后,错误消失

  • 从终端卸载mongoose
    npm卸载猫鼬

  • 安装mongoose 5.11.15版
    npm-imongoose@5.11.15

  • [蒙戈错误]


    由于我在图片上方以红色矩形显示的线条

    还有更多代码吗?堆栈底部表明有更多代码。@请查看MongoDB站点的完整代码,谢谢!以引用MongoDB员工在该线程中的评论“…我已与节点驱动程序团队联系。该警告可以安全忽略,并有望在即将发布的版本中消失。”。“你为什么不忽略这个mongoError事件的警告呢?忽略警告从来都不是一个好主意,如果你研究它们,发现它不重要,那么当然,你可以忽略。但是如果你的终端上出现了一些你不确定的废话,我建议至少搜索一段时间。