无法连接到 mongoDB 图集

Posted

技术标签:

【中文标题】无法连接到 mongoDB 图集【英文标题】:Not able to connect to mongoDB atlas 【发布时间】:2021-04-29 13:14:27 【问题描述】:

我已经正确安装了所有东西,但不知道发生了什么。这是代码

// Connect to MongoDB
const dbURI = 'mongodb+srv://<username>:<password>@blogging-site.mantx.mongodb.net/Blogging-site?retryWrites=true&w=majority';
try 
  // Connect to the MongoDB cluster
   mongoose.connect(dbURI, useNewUrlParser: true, useUnifiedTopology: true ,
    () => console.log(" Mongoose is connected")
  );
 catch (e) 
  console.log("could not connect");

我的 VS 代码中的错误是 - 错误:queryTxt ETIMEOUT blogging-site.mantx.mongodb.net 在 QueryReqWrap.onresolve [as oncomplete] (dns.js:203:19) 错误号:未定义, 代码:'ETIMEOUT', 系统调用:'queryTxt', 主机名:'blogging-site.mantx.mongodb.net' 我正在关注网络忍者教程,希望我没有按照他的指示离开任何步骤。 我之前使用过 mongoDB atlas 并在我的计算机上安装了 mongodb。这有什么问题吗?

【问题讨论】:

【参考方案1】:

没有问题,因为'我可以连接'到它。

我可以连接到它

我,一个你不认识的人,一个很可能在世界另一端的人

可能是一个怀有恶意的人(尽管我不是)。

这可能是连接问题(由于网络不好或其他原因),但更大的问题是

我可以连接到它

因此,也许您希望在将 MongoDB URI 部分公开以供所有人查看之前将其保留,除非您希望邪恶的人从您的数据库中窃取用户信息、会话数据以及其他内容。

学习愉快!!!

评论后编辑 以下是开始使用 mongoose 时应该学习的内容:

  -setting up initial(also called default) connection with mongoose.connect()
  -configuring schemas with mongoose.Schema()
  -compiling models with schemas with mongoose.model()
  -saving the doc with mongoose.save()
  -querying the database(findOne, find, deleteOne, updateOne, findById are the 
   ones I find most used)

也许当你习惯了所有这些之后,你可以开始学习填充(你可能会在更大的项目中需要它)、创建多个连接和导出模式模式、验证、mongooseJs 的中间件等等我'相信你会自己调查的。

至于“你能告诉我你是如何连接到地图集的吗?”

我刚刚复制了您的代码并在我的计算机上运行。就那么简单。 dbURI 变量中的字符串是连接到数据库图集的一种方式。你把它给了我,我使用它并连接到它。

【讨论】:

我已经更改了用户名和密码,但您能告诉我您是如何连接到地图集的吗?我是一个新的学习者,需要一些帮助。感谢您指出那部分。以后不会重复了 前往mongoosejs.com 的 mongooseJs 文档并学习一些必须的东西。无需考虑所有事情。无论如何,您可能不会遇到所有的用途,到您这样做的时候,我相信您将有足够的经验来理解它们。 @AlokKumar 我已经用你应该学习的内容更新了答案。 非常感谢您的回复。我早上能够连接到 mongodb atlas(不知道如何),可能您对网络问题的看法是正确的,但现在它再次无法正常工作(我检查了网络连接;)。错误消息是 Error: queryTxt ETIMEOUT node-tuts.xi19x.mongodb.net at QueryReqWrap.onresolve [as oncomplete] (dns.js:203:19) errno: undefined, code: 'ETIMEOUT', syscall: 'queryTxt' ,主机名:'node-tuts.xi19x.mongodb.net'【参考方案2】:
Error: queryTxt ETIMEOUT

当客户端尝试从 DNS 检索 blogging-site.mantx.mongodb.net 的 TXT 记录时,它超时了。

在同一台机器上,使用 nslookup 进行测试以检索 TXT 记录,如果您的 DNS 提供商不支持,则需要使用非 SRV 连接字符串。

【讨论】:

以上是关于无法连接到 mongoDB 图集的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 无法连接到我的 mongodb 地图集

无法将我的spring-boot应用程序与mongodb云图集连接起来

Heroku 和 MongoDB 地图集连接

Mongodb:第一次连接时无法连接到服务器

在 Ubuntu 20.04 上无法连接到 mongodb,连接被拒绝

无法使用 MEAN 堆栈连接到 Mongodb.atlas 集群