为什么我无法连接到我的 Atlas 集群?
Why I am unale to connect to my Atlas Cluster?
我正在 Mongo 大学学习 Mongo 数据库基础课程,但我无法连接自己的集群。
虽然我用不同的方式命名了我的集群,即 StockMarketAnalysis.
mongo "mongodb+srv://sandbox-xxxxx.mongodb.net/test" --username m001-student --password m001-mongodb-basics
我得到的输出
DNSHostNotFound: Failed to look up service "":DNS name does not exist.
try 'mongo --help' for more information
按照以下给出的答案之一执行 npm 后
我还是做不到
这可能是 bug。确保您使用的是最新的 MongoDB 版本。
首先,您必须将您的 IP 地址列入白名单,以便访问 mongodb 网站并执行以下步骤
- 转到安全选项卡 -> 网络访问 -> 然后将您的 IP 列入白名单
- 然后转到安全选项卡 -> 数据库访问 -> 并删除您当前的用户。
- 通过提供新用户名和密码创建新用户。
- 在 .env 文件中提供新创建的用户名和密码,或者
mongoose.connect 方法
然后转到您的文本编辑器并打开终端。然后提供以下命令来安装 .env
npm i dotenv
然后转到您的项目文件夹并创建 .env 文件。之后从 mongodb 网站获取 mongodb 连接字符串。将连接字符串粘贴到 .env 文件中。然后在字符串中替换您的用户名密码和数据库名称。
连接字符串是这样的
mongodb+srv://<username>:<password>@clusterX-xxxxx.mongodb.net/<database_name>?retryWrites=true&w=majority
如果您使用猫鼬,请将以下代码行复制到 app.js 或您的 index.js 文件中
mongoose.connect(process.env.DB_STRING, {useNewUrlParser : true, useUnifiedTopology : true, useCreateIndex : true, useFindAndModify : false}, (err) => {
if(err) {
console.log(err.message);
}else {
console.log('DB Connected');
}
});
然后 运行 app.js 或 index.js 文件如果一切成功,它将在控制台中显示 DB Connected 消息。
我在按照 MongoDB 大学上的说明进行操作时遇到了同样的问题。
这里的问题是在 运行 以下代码之前,您必须将 xxxxx 编辑为在您的连接字符串中找到的代码。以下只是一个通用的沙箱代码。
mongo "mongodb+srv://sandbox-**xxxxx**.mongodb.net/test" --username m001-student --password m001-mongodb-basics
你自己的会有所不同 sandbox.It 会是这样的:
mongo "mongodb+srv://sandbox-**byutb**.mongodb.net/test" --username m001-student --password m001-mongodb-basics
希望对您有所帮助。
我正在 Mongo 大学学习 Mongo 数据库基础课程,但我无法连接自己的集群。
虽然我用不同的方式命名了我的集群,即 StockMarketAnalysis.
mongo "mongodb+srv://sandbox-xxxxx.mongodb.net/test" --username m001-student --password m001-mongodb-basics
我得到的输出
DNSHostNotFound: Failed to look up service "":DNS name does not exist.
try 'mongo --help' for more information
按照以下给出的答案之一执行 npm 后
我还是做不到
这可能是 bug。确保您使用的是最新的 MongoDB 版本。
首先,您必须将您的 IP 地址列入白名单,以便访问 mongodb 网站并执行以下步骤
- 转到安全选项卡 -> 网络访问 -> 然后将您的 IP 列入白名单
- 然后转到安全选项卡 -> 数据库访问 -> 并删除您当前的用户。
- 通过提供新用户名和密码创建新用户。
- 在 .env 文件中提供新创建的用户名和密码,或者 mongoose.connect 方法
然后转到您的文本编辑器并打开终端。然后提供以下命令来安装 .env
npm i dotenv
然后转到您的项目文件夹并创建 .env 文件。之后从 mongodb 网站获取 mongodb 连接字符串。将连接字符串粘贴到 .env 文件中。然后在字符串中替换您的用户名密码和数据库名称。
连接字符串是这样的
mongodb+srv://<username>:<password>@clusterX-xxxxx.mongodb.net/<database_name>?retryWrites=true&w=majority
如果您使用猫鼬,请将以下代码行复制到 app.js 或您的 index.js 文件中
mongoose.connect(process.env.DB_STRING, {useNewUrlParser : true, useUnifiedTopology : true, useCreateIndex : true, useFindAndModify : false}, (err) => {
if(err) {
console.log(err.message);
}else {
console.log('DB Connected');
}
});
然后 运行 app.js 或 index.js 文件如果一切成功,它将在控制台中显示 DB Connected 消息。
我在按照 MongoDB 大学上的说明进行操作时遇到了同样的问题。 这里的问题是在 运行 以下代码之前,您必须将 xxxxx 编辑为在您的连接字符串中找到的代码。以下只是一个通用的沙箱代码。
mongo "mongodb+srv://sandbox-**xxxxx**.mongodb.net/test" --username m001-student --password m001-mongodb-basics
你自己的会有所不同 sandbox.It 会是这样的:
mongo "mongodb+srv://sandbox-**byutb**.mongodb.net/test" --username m001-student --password m001-mongodb-basics
希望对您有所帮助。