我正在尝试在我的nitrousio nodejs框上设置mongodb。关注this tutorial。
当我完成执行此命令时,
mongo --shell --host $MONGODB_DEVELOPMENT_HOST --port $MONGODB_DEVELOPMENT_PORT
-u $MONGODB_DEVELOPMENT_USERNAME -p $MONGODB_DEVELOPMENT_PASSWORD
$MONGODB_DEVELOPMENT_DB
发生这种情况,
即使我的MONGO_DEVELOPMENT_DB
环境变量设置为pest
,它也会尝试连接到test
。不仅pest
,如果我尝试连接到任何数据库实例,它总是会尝试连接到test
。
有什么可能出错的想法吗?
答案 0 :(得分:0)
我最近有类似的东西,它让我们认为配置文件覆盖了一些参数。试着看一下/usr/local/mongodb/mongod.conf(在OS X上,可能与linux类似)
答案 1 :(得分:0)
好的,终止了该框并创建了一个新的修复它的框。猜猜我搞砸了环境。我第一次尝试的变量。现在工作得很好。
答案 2 :(得分:0)
我遇到了同样的问题,我尝试了新的盒子(最小的内存和存储空间),但它没有用。 在增加现有盒子的内存和存储空间后,我可以 (内存:640MB,存储空间:1500MB) 我能够启动MongoDB服务器和Mongo shell。
答案 3 :(得分:0)
启动mongo shell后,默认情况下会话将使用测试数据库。 For mong details, please refer to MongoDB Doc
答案 4 :(得分:0)
我不确定这是否会为您提供所需的一切,但至少我可以确保 mongo 命令界面适用于Nitrous。首先是一些背景知识。
Nitrous的有用支持人员告诉我,Nitrous 仅暴露端口: 1024 - 10,000 打开。 mongodb的默认值是:27017。此端口似乎也被手动编码到 mongo 命令中。
在Nitrous上,我更改了我的mongodb.config文件以使用该范围内的端口,在0.0.0.0地址上:
请参阅:
显然,由于Nitrous magic ,绑定到0.0.0.0 IP地址是不必要的,但是我还没有测试过。重新启动mongodb服务器之后:
$ parts stop mongodb
$ # ... edit ~/.parts/etc/mongodb.conf
$ parts start mongodb
$ mongo localhost:7017
无论如何,它适用于默认数据库。我希望其他(有效,合理)命令行选项应该没问题。 “ test ”数据库名称是默认名称,因此如果您从未建立连接,那么mongodb可能甚至不会查看给定的数据库名称。
我正在试验Nitrous上的MEAN.io堆栈,因此配置将与您的示例完全不同。也就是说,这个命令工作正常:
$ mongo localhost:7017/mean-dev
打开mean-dev数据库。希望设置端口将为您提供所需的功能。
该端口的mongodb控制界面最后一个是在nitrous预览URL上,端口号为+1,000 ==> 8017.我还没有发现如何使用管理界面(尚未)使REST API工作。即便如此,管理员屏幕也向我显示事情看起来很合理。
祝你好运/ w。