首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用NodeJS和PM2对MongoDB进行身份验证以持续运行节点

如何使用NodeJS和PM2对MongoDB进行身份验证以持续运行节点
EN

Stack Overflow用户
提问于 2019-10-02 06:25:44
回答 1查看 583关注 0票数 1

我正在尝试使用mongoose验证我的connect语句到mongodb。我有过

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//In app.js

mongoose.connect('mongodb://localhost:27017/databasenamehere', {
    useNewUrlParser: true,
    useUnifiedTopology: true,
    user: 'username',
    pass: 'password'
});

将/etc/mongo.conf文件设置为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
...
#bindIP //commented this out
...
security:
     authentication: enabled
...

并尝试将其放入.connect字符串中,如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//In app.js
mongoose.connect('mongodb://username:password@localhost:27017/databasenamehere', {
    useNewUrlParser: true,
    useUnifiedTopology: true
});

根据文档也进行了尝试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mongod --auth --port 27017 --dbpath /var/lib/mongodb

//and 

mongod --auth --port 27017 --dbpath /var/lib/mongodb

文档:https://docs.mongodb.com/manual/tutorial/enable-authentication/

但它也不是这样工作的。当我访问我的均值堆栈应用程序的页面时,它调用NodeJS后端从F12 (chrome开发人员工具)中的MongoDB获取数据,它显示调用的状态为(failed),并显示'Failed to load response data‘。我使用的服务器是Ubuntu 18.04。

我希望看到app.js将使用我在mongoDB中为我选择的数据库创建的用户成功连接到mongoDB。这意味着我禁用了安全性(上面的几行注释掉了),创建了一个用户,并将readWrite权限授予创建的用户并绑定到我想要的数据库,然后根据文档在mongo.conf文件中重新打开了安全性。

此外,我想知道如何使用PM2 (npm install pm2),并让我的后端nodeJS代码始终运行,以便节点将始终运行我的app.js,从而使API调用将成功。

EN

回答 1

Stack Overflow用户

发布于 2019-10-02 06:52:32

取消注释bindIp并将其设置为127.0.0.1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bindIp = 127.0.0.1

security:
     authentication: enabled

这会解决你的问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58196200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文