Dja*_*ike 6 mongoose mongodb node.js
MongoDB和Node.js的新手。我试图通过mongo给我的连接字符串连接到我的mongoDB服务器:
“ mongodb + srv:// david:password@cluster0-re3gq.mongodb.net/test?retryWrites = true”
在我的代码中,我像这样通过猫鼬调用连接(显然输入了密码):
const mongoose = require('mongoose');
const db = 'mongodb+srv://david:<password>@cluster0-re3gq.mongodb.net/test?retryWrites=true'
mongoose
.connect(db, {
useNewUrlParser: true,
useCreateIndex: true
})
.then(() => console.log('MongoDB connected...'))
.catch(err => console.log(err));
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,出现以下错误
“ MongoError:错误的身份验证失败。”
关于这意味着什么的任何想法?谢谢!
小智 45
这是因为输入的密码错误。因为您输入的是登录密码而不是第一个密码。
解决方法===> 第一步,点击mongodb图集页面左侧导航中的Database Access。
步骤 2. 选择您的用户名,然后单击从右侧进行编辑。
第三步,点击修改密码。
步骤 4. 单击更新用户。
在更改密码期间,请仅按字母顺序保存密码,因为特殊字符需要编码。

这就是您现在可以连接的全部内容。
快乐编码。
Cro*_*asr 16
我遇到了同样的问题,就我而言,答案很简单,就像删除尖括号“ <”和“>”一样<password>。我一直在尝试:my_login_id:<my_password>应该何时进行my_login_id:my_password。
小智 10
效果很好!!
不要在 URI 中使用凭据,而是像这样使用
mongoose.connect(mongodb+srv://clusterAnything.mongodb.net/test?retryWrites=true&w=majority, { user: process.env.MONGO_USER, pass: process.env.MONGO_PASSWORD, useNewUrlParser: true, useUnifiedTopology: true })
Run Code Online (Sandbox Code Playgroud)
您是否在 的位置写下您的密码<password>?如果您不是,一个好的做法是在操作系统上创建一个环境变量并使用 process.env.[您的变量] 调用它。前任:
const password = process.env.YOURPASSWORDVARIABLE
const db = 'mongodb+srv://david:'+password+'@cluster0-re3gq.mongodb.net/test?retryWrites=true'
Run Code Online (Sandbox Code Playgroud)
更好的是,您还可以将整个 url 连接字符串放入环境变量中:
| 归档时间: |
|
| 查看次数: |
7341 次 |
| 最近记录: |