6

更新:这篇文章适用于meteor.com免费托管,它已被关闭并替换为付费Meteor托管服务Galaxy

我正在使用这个命令

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

获取对我部署的 mongo 应用程序的访问凭据,但我无法mongoimport使用这些凭据。我想我只是不完全明白哪个部分是username,passwordclient。你能帮我分解一下吗?

来自服务器的结果(我对其进行了修改以混淆真实值):

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
4

3 回答 3

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
于 2013-03-12T18:33:34.510 回答
4

使用 mongodump 和 mongorestore 也可以:

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

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

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

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

    meteor mongo --url METEOR_APP_URL
    

    注意:密码每分钟过期一次。

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

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

    所有数据都应该被传输!

于 2014-01-02T00:41:05.893 回答
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
于 2016-01-29T19:06:24.770 回答