MongoDB连接到AWS平均堆栈上的节点

MongoDB连接到AWS平均堆栈上的节点,mongodb,mean,Mongodb,Mean,几天来,我一直在尝试将我的mongoDB连接到MEAN stack,但没有成功。它在AWS lightsail Bitnami上运行。网站本身运行良好,除了任何具有ajax/db调用的页面,因为数据库没有连接/验证我的连接字符串 我使用的是mongo、node、express堆栈的一部分,目前我不需要也不知道任何角度。我认为这比在nodeJS上设置然后单独添加mongoDB要容易得多。我确实尝试过,首先遇到了类似的问题,我确实打算在将来学习angualar,所以从长远来看这可能更好。服务器端设置

几天来,我一直在尝试将我的mongoDB连接到MEAN stack,但没有成功。它在AWS lightsail Bitnami上运行。网站本身运行良好,除了任何具有ajax/db调用的页面,因为数据库没有连接/验证我的连接字符串

我使用的是mongo、node、express堆栈的一部分,目前我不需要也不知道任何角度。我认为这比在nodeJS上设置然后单独添加mongoDB要容易得多。我确实尝试过,首先遇到了类似的问题,我确实打算在将来学习angualar,所以从长远来看这可能更好。服务器端设置是当前的一个弱点

我正在使用猫鼬进行连接。我可以使用以下方式访问数据库: mongo admin-username root-p密码通过SSH

我还可以通过Rockmongo SSH访问数据库。目前数据库中只有一个管理员用户,即root用户

我的初始服务器/启动文件如下:

server.js

const app = require('/opt/bitnami/apps/MYAPP/app.js');

require('dotenv').config({ path: 'variables.env' });

const mongoose    = require("mongoose");

mongoose.Promise = global.Promise;  

mongoose.connect(process.env.DATABASE_CONN);

app.listen(3000,function(){
   console.log("Server has started!");
 });
变量.env

DATABASE_CONN = mongodb://root:password@127.0.0.1:27017/MYAPPDATABASE
我还尝试了许多其他连接字符串,将root用户交换为bitnami默认用户,等等

当我转到我的应用程序文件夹并启动服务器npm start或node server.js时,网站会启动,但出现以下mongoDB身份验证错误,以下仅为第一部分

> Server has started!
Connection error: { MongoError: Authentication failed.
    at /opt/bitnami/apps/MYAPP/node_modules/mongoose/node_modules/mongodb-core/lib/con
nection/pool.js:595:61
    at authenticateStragglers (/opt/bitnami/apps/MYAPP/node_modules/mongoose/node_modu
les/mongodb-core/lib/connection/pool.js:513:16)
    at Connection.messageHandler (/opt/bitnami/apps/MYAPP/node_modules/mongoose/node_m
odules/mongodb-core/lib/connection/pool.js:549:5)
    at emitMessageHandler (/opt/bitnami/apps/MYAPP/node_modules/mongoose/node_modules/
mongodb-core/lib/connection/connection.js:309:10)
    at Socket.<anonymous> (/opt/bitnami/apps/MYAPP/node_modules/mongoose/node_modules/
mongodb-core/lib/connection/connection.js:452:17)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
    at Socket.Readable.push (_stream_readable.js:208:10)
    at TCP.onread (net.js:597:20)
  name: 'MongoError',
  message: 'Authentication failed.',
  ok: 0,
  errmsg: 'Authentication failed.',
  code: 18,
  codeName: 'AuthenticationFailed' }
任何帮助或指导都将不胜感激。谢谢你


Mos.

有些改进。我现在已经编辑了mongo.conf以启用无身份验证。然后我运行了mongod,它声明没有为其存储数据的/data/db文件夹。所以我创建了文件夹并再次运行mongod。现在所有页面都可以工作了,但是mongo shell命令“mongo”将无法在终端上工作

我认为这是因为mongod dbpath设置为data/db,而mongodb conf文件dbpath设置为/opt/bitnami/mongodb/data/db

因此,我试图更新mongod数据库路径,但它似乎没有更新。

好的。找到解决方案

在mongo.conf文件中,我将dbpath设置为/data/db mongo shell指向/opt/bitnami/mongodb/tmp/mongodb-27017.sock$@ 转到/opt/bitnami/mongodb/bin/mongo 将/opt/bitnami/mongodb/tmp/mongodb-27017.sock$@更改为/tmp/mongodb-27017.sock$@

可以使用sudo nano/opt/bitnami/mongodb/bin/mongo来完成此操作,然后编辑文件

仍然打开noauth,所以下一步是让我的db连接字符串进行身份验证

希望它能帮助别人

谢谢