【问题标题】:How to resolve connection error connecting to Mongodb on AWS-Cloud9如何解决连接到 AWS-Cloud9 上的 Mongodb 的连接错误
【发布时间】:2019-06-11 13:52:42
【问题描述】:

我正在学习使用 AWS-Cloud9 Ubuntu 环境的“Web 开发简化”教程。 一切都很顺利,直到我不得不连接到 mongodb。 db 似乎可以很好地安装...

sudo apt install -y mongodb

并且正在运行。

ubuntu:~/environment $ sudo systemctl status mongodb
● mongodb.service - An object/document-oriented database
   Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-06-11 13:19:28 UTC; 20min ago
     Docs: man:mongod(1)
 Main PID: 17781 (mongod)
    Tasks: 23 (limit: 1152)
   CGroup: /system.slice/mongodb.service
           └─17781 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

Jun 11 13:19:28 ip-172-31-16-249 systemd[1]: Started An object/document-oriented database.

本教程使用猫鼬并在连接时引发错误。这是连接字符串

mongoose.connect("mongodb://127.0.0.1:27017/examrooms",{useNewUrlParser: true})
const db=mongoose.connect()

这是错误

MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.

检查 mongodb.conf 文件显示以下内容

sudo cat /etc/mongodb.conf
# mongodb.conf

# Where to store the data.
dbpath=/var/lib/mongodb

#where to log
logpath=/var/log/mongodb/mongodb.log

logappend=true

bind_ip = 127.0.0.1
#port = 27017

默认情况下安全性是关闭的。 所以我的 ip 正确,并假设端口默认为 27017。

显然是在传递一个字符串作为 uri,所以这是其他东西的症状吗?也许权限?我很难过。任何指针都非常感谢。

【问题讨论】:

    标签: javascript node.js mongodb mongoose aws-cloud9


    【解决方案1】:

    请查看此链接:https://community.c9.io/t/setting-up-mongodb/1717

    sudo apt-get install -y mongodb-org $ mkdir data $ echo 'mongod --bind_ip=$IP --dbpath=data --nojournal --rest "$@"' > mongod $ chmod a+x mongod

    【讨论】:

    • 感谢您的超快速响应。我尝试了上述(没有新安装)并在执行时收到以下错误 ./mongod Error parsing command line: unrecognized option '--rest' mongodb和mongodb-org有区别吗?
    • 我删除了-rest,它似乎工作。它把我留在了某种 shell 中,我无法启动我的网络服务器进行测试。
    【解决方案2】:

    我现在已经解决了。好像默认的dbpath是/var/lib/mongodb

    我需要在我的项目中创建一个数据目录并将dbpath设置为/etc/mongodb.conf中的那个

    我还需要确保为 Mongodb 设置了正确的权限来访问这个新文件夹。在使用 AWS Cloud9 时,我使用了

    sudo chown mongodb:mongodb /home/ubuntu/environemnt/data/

    对教程进行了一些调整(因为其中一些已经过时),一切都很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-12
      • 2018-05-01
      • 2018-10-08
      • 1970-01-01
      • 2023-03-21
      • 2019-02-16
      相关资源
      最近更新 更多