如何mongoimport数据部署流星应用程序?

时间:2013-03-12 18:19:30

标签: mongodb meteor

更新:这篇文章适用于meteor.com免费托管,已经关闭并取代Galaxy,付费的Meteor托管服务

我正在使用此命令

C:\kanjifinder>meteor mongo --url kanjifinder.meteor.com

获取我部署的mongo应用程序的访问凭据,但我无法使mongoimport使用凭据。我想我并不完全明白哪个部分是usernamepasswordclient。你可以帮我分解一下吗?

来自服务器的结果(我修改它以模糊真实值):

mongodb://client:e63aaade-xxxx-yyyy-93e4-de0c1b80416f@meteor.m0.mongolayer.com:27017/kanjifinder_meteor_com

我的mongoimport尝试(验证失败):

C:\mongodb\bin>mongoimport -h meteor.m0.mongolayer.com:27017 -u client -p e63aaade-xxxx-yyyy-93e4-de0c1b80416f --db meteor --collection kanji --type csv --file c:\kanjifinder\kanjifinder.csv --headerline

3 个答案:

答案 0 :(得分:5)

好的,明白了。这有助于: http://docs.mongodb.org/manual/reference/connection-string/

mongoimport --host meteor.m0.mongolayer.com --port 27017 --username client --password e63aaade-xxxx-yyyy-93e4-de0c1b80416f --db kanjifinder_meteor_com --collection kanji --type csv --file c:\kanjifinder\kanjifinder.csv --headerline

答案 1 :(得分:4)

使用mongodump和mongorestore也可以:

  1. 转储现有mongodb中的数据(mongodb url:mongodb:// USER:PASSWORD @ DBHOST / DBNAME)

    mongodump -h DBHOST -d DBNAME -u USER -p PASSWORD
    

    这将创建一个“转储”目录,所有数据都将转储到/ DBNAME。

  2. 获取部署的流星应用程序的mongodb网址(即www.mymeteorapp.com)

    meteor mongo --url METEOR_APP_URL
    

    注意:密码每分钟到期。

  3. 将db转储数据上传到meteor应用程序(使用示例meteor db url)

    mongorestore -u client -p dcc56e04-a563-4147-eff4-5ae7c1253c9b -h production-db-b2.meteor.io:27017 -db www_mymeteorapp_com dump/DBNAME/
    

    所有数据都应该转移!

答案 2 :(得分:0)

如果您收到auth_failed错误消息,则您的mongoimport版本与meteor.com中使用的版本太不相同。所以你需要升级。对于ubuntu,请参阅https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/#install-the-latest-stable-version-of-mongodb

#!/bin/sh

# Script to import csvfile to meteor application deployed to free meteor.com hosting.
# Make sure your versions of mongo match with the metor.com mongo versions. 
# As Jan 2016 it seems to be 3.x something. Tested with mongoimport 3.12.

if [ $# -eq 0 ]
  then
    echo "usage: $0 xxx.meteor.com collection filename.csv"
    exit 1
fi

URL=$1
COLLECTION=$2
FILE=$3

echo Connecting to $URL, please stand by.... collection=$COLLECTION file=$FILE

PUPMS=`meteor mongo --url $URL | sed 's/mongodb:\/\// -u /' | sed 's/:/ -p /' | sed 's/@/ -h /'  | sed 's/\// -d /'`



mongoimport -v $PUPMS --type csv --headerline --collection $COLLECTION  --file $FILE