【问题标题】:Deno Uncaught Error: No such host is known. (os error 11001)Deno 未捕获错误:不知道这样的主机。 (操作系统错误 11001)
【发布时间】:2021-06-29 19:38:37
【问题描述】:

我尝试使用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

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;

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

deno run --allow-net --allow-write --allow-read  --allow-plugin --unstable server.ts

【问题讨论】:

标签: mongodb deno


【解决方案1】:

我使用 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;

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

&lt;db&gt;是数据库名,可以按照以下步骤获取数据库名

第 1 步

第 2 步

要查找&lt;host&gt;,请按照以下步骤操作

步骤-1

步骤-2

步骤-3

【讨论】:

  • 我只通过找到主 URL 来解决它,从其余部分中,我直接连接字符串而不使用对象。感谢您的回复。
猜你喜欢
  • 1970-01-01
  • 2021-11-17
  • 2021-08-05
  • 1970-01-01
  • 2014-03-18
  • 2020-10-08
  • 2020-02-19
  • 1970-01-01
  • 2019-10-15
相关资源
最近更新 更多