Deno 未捕获错误:没有已知的此类主机。(操作系统错误 11001)

Pra*_*ath 3 mongodb deno

我尝试使用https://deno.land/x/mongo@v0.21.2框架连接MongoDB Atlas到我的 Deno 应用程序 。我尝试使用下面的代码来运行我的应用程序。但我收到一个错误 这里出了什么问题No such host is known. (os error 11001)

错误

error: Uncaught Error: No such host is known. (os error 11001)
    at unwrapResponse (rt\10_dispatch_json.js:24:13)
    at sendAsync (rt\10_dispatch_json.js:75:12)
    at async Object.connect (rt\30_net.js:221:13)
    at async MongoClient.connect (client.ts:41:14)
    at async mongodb.ts:33:1
Run Code Online (Sandbox Code Playgroud)

Mongodb.ts 文件

import { MongoClient } from "https://deno.land/x/mongo@v0.21.0/mod.ts";
    
    const client1 = new MongoClient();
    await client1.connect("mongodb+srv://user1:MYPASSWORD@cluster0.hmdnu.mongodb.net/TestingDB?retryWrites=true&w=majority");
    
    const db = client1.database("TestingDB");
    
    export default db;
Run Code Online (Sandbox Code Playgroud)

我用这个命令来运行我的服务器

deno run --allow-net --allow-write --allow-read  --allow-plugin --unstable server.ts
Run Code Online (Sandbox Code Playgroud)

Pra*_*ath 5

我使用https://www.youtube.com/watch?v=hhdhydffKKE此视频参考修复了此问题

请按照以下步骤解决此问题

    import { MongoClient } from "https://deno.land/x/mongo@v0.21.0/mod.ts";
    
    const client1 = new MongoClient();
    
    await client.connect({
    db: "<db>",
    tls: true,
    servers: [
      { 
        host: "<host>",
        port: 27017,
      },
    ],
    credential: {
      username: "<user>",
      password: "<password>",
      db: "<db>",
      mechanism: "SCRAM-SHA-1",
    },
  });
    
 const db = client1.database("TestingDB");
    
 export default db;
Run Code Online (Sandbox Code Playgroud)

文档中没有提到这一点,但这将有助于解决问题

<db>是数据库名称,您可以按照以下步骤获取数据库名称

步骤1 步骤1

第2步 第2步

要查找,<host>请按照以下步骤操作

步骤1 在此输入图像描述

第2步 在此输入图像描述

步骤-3 在此输入图像描述