为了查看在blah.meteor.com
上的(生产)数据库中有什么,我想我们只需要执行以下操作:
meteor mongo --url http://blah.meteor.com/
但是我得到的是一个URI:
mongodb://client:984dae4c-04fb-c8bb-68f6-ed83602435cc@skybreak.member1.mongolayer.com:27017/blah_meteor_com
我该如何使用这个URI来访问数据库?
为了查看在blah.meteor.com
上的(生产)数据库中有什么,我想我们只需要执行以下操作:
meteor mongo --url http://blah.meteor.com/
但是我得到的是一个URI:
mongodb://client:984dae4c-04fb-c8bb-68f6-ed83602435cc@skybreak.member1.mongolayer.com:27017/blah_meteor_com
我该如何使用这个URI来访问数据库?
您应该使用meteor mongo http://blah.meteor.com
,甚至更短的meteor mongo blah.meteor.com
。
文档可以运行meteor help mongo
获取。从上面运行帮助命令中提取:
不必打开shell,指定--url(-U)将返回适用于外部程序连接到数据库的URL。对于部署的应用程序上的远程数据库,URL有效期为一分钟。
因此,这意味着使用--url
选项运行命令提供的URL是用于通过某些外部应用程序连接到数据库的,即除meteor
之外的其他应用程序。
更新:
连接到MongoDB时,您应该收到类似于以下内容的问候消息:
MongoDB shell version: 2.0.2
connecting to: skybreak.member1.mongolayer.com:27017/userdb_meteor_com
输入以下命令:use userdb_meteor_com
(其中userdb_meteor_com取自上述问候消息中的URL)。
要查看您的集合(通常是指在Meteor应用程序中创建的集合):show collections
。您应该会得到如下结果:
system.indexes
system.users
users
现在你可以运行通常的命令,例如:db.users.find({});
。
nsmeta的信息性答案的简化版本,适合快速浏览:
$ meteor mongo blah.meteor.com
connecting to: ...
> show collections
stuff
> db.stuff.find()
{"_id" : "abcdedghiasdjlahf", stuff: "yeah!" }
更新 2016:
meteor mongo
命令不再起作用,因为 blah.meteor.com 数据库版本为 3.0,而 meteor mongo
命令仍处于版本 2.6.7。 (在 Meteor 的最后一个版本 v1.2.1 上)。
相反,请安装 mongo cli 并运行此命令:
mongo `meteor mongo --url blah.meteor.com | sed 's/mongodb:\/\//-u /' | sed 's/:/ -p /' | sed 's/@/ /'`
更多细节: 在 2016 年访问 Meteor 生产数据库
meteor mongo -U <app>
获取的凭据(用户名/密码)大约会在60分钟后过期。是否有任何方法可以获取或创建永久凭据? - kynan