是否有一种简单的方法可以从meteor部署的应用程序中导出数据?
例如,如果我部署了一个名为test.meteor.com的应用程序...
我如何才能轻松地下载该应用程序收集的数据-以便我可以使用部署的应用程序中的数据在本地运行它?
发布于 2012-09-16 22:31:19
要在meteor.com上获取已部署站点的URL,请使用以下命令(如果您使用了密码保护,则可能需要提供站点密码):
meteor mongo --url YOURSITE.meteor.com它将返回类似如下的内容:
mongodb://client:PASSWORD@sky.member1.mongolayer.com:27017/YOURSITE_meteor_com您可以将其提供给像mongodump这样的程序
mongodump -u client -h sky.member1.mongolayer.com:27017 -d YOURSITE_meteor_com\
-p PASSWORD密码的有效期只有一分钟。对于用法:
$ meteor --help mongo发布于 2013-05-05 11:02:34
下面是如何做相反的事情:(将你本地的monogo数据库上传到meteor)
https://gist.github.com/IslamMagdy/5519514
# How to upload local db to meteor:
# -h = host, -d = database name, -o = dump folder name
mongodump -h 127.0.0.1:3002 -d meteor -o meteor
# get meteor db url, username, and password
meteor mongo --url myapp.meteor.com
# -h = host, -d = database name (app domain), -p = password, folder = the path to the dumped db
mongorestore -u client -h c0.meteor.m0.mongolayer.com:27017 -d myapp_meteor_com -p 'password' folder/发布于 2013-01-24 05:13:31
基于Kasper Souren的解决方案,我创建了一个更新的脚本,适用于当前版本的Meteor,并且当您使用密码保护您的远程Meteor应用程序时也有效。
请创建以下脚本parse-mongo-url.coffee
spawn = require('child_process').spawn
mongo = spawn 'meteor', ['mongo', '--url', 'YOURPROJECT.meteor.com'], stdio: [process.stdin, 'pipe', process.stderr]
mongo.stdout.on 'data', (data) ->
data = data.toString()
m = data.match /mongodb:\/\/([^:]+):([^@]+)@([^:]+):27017\/([^\/]+)/
if m?
process.stdout.write "-u #{m[1]} -p #{m[2]} -h #{m[3]} -d #{m[4]}"
else
if data == 'Password: '
process.stderr.write data然后像这样在一个*nix shell中执行它:
mongodump `coffee parse-mongo-url.coffee`https://stackoverflow.com/questions/11024888
复制相似问题