18

mongoimportcsv データを meteor 以外の mongodb データベースにインポートすることはできますが、csv を meteor アプリ データベースにインポートする方法がわかりません。

meteor アプリ ( ) で mongo シェルを実行する方法を学びましたが、シェルからmeteor mongoは実行できませんmongoimport

mongodb docs formongoimportは言う

この例では、mongoimport は、/opt/backups/contacts.csv 内の csv 形式のデータを、ポート番号 27017 の localhost で実行されている MongoDB インスタンスのユーザー データベース内のコレクションの連絡先にインポートします。

mongoimport --db ユーザー --collection 連絡先 --type csv --file /opt/backups/contacts.csv

しかし、実行するmongodと、流星アプリを起動して実行すると、アプリ データベースではなく、データベースにmongoimportインポートされます。test

このstackoverflowの投稿コメントを読みました:

mongoexport を使用してコレクションを個別にダンプしてから、mongoimport を使用して meteor mongodb インスタンスの meteor という名前のデータベースにファイルをインポートします。meteor mongo インスタンスはポート 3002 で bind_address 127.0.0.1 で実行され、データ ファイルは meteor プロジェクトのサブディレクトリ .meteor/local/db にあります。

mongoimportしかし、そのインスタンスに接続する方法や、コマンドでターゲットにする方法がわかりません。

4

5 に答える 5

23

Rahulsの素晴らしい回答であなたのコメントに答えたようです。とにかく、mongodb.org からお使いの OS (または macports などのパッケージ マネージャー) 用の mongodb をダウンロードし、bin フォルダーにあるツールを使用します。mongoimportmongo シェルのコマンドではなく、個別に実行される実行可能ファイルです。

また、ポートを入力することを忘れないでください (流星インスタンスを3000で実行している場合は通常3001 )。また、データベースは通常、実行時に流星であり、ユーザーではありません。

mongoimport -h localhost:3001 --db meteor --collection contacts --type csv --file /opt/backups/contacts.csv
于 2013-03-12T15:52:08.963 に答える
8

注: 上記の方法はポート 3002 では機能しませんでしたが、ポート 3001 では機能しました。

外部 TSV ファイルを meteor db にインポートするために、TSV データを必要とする meteor アプリを開始しました。これにより、meteor mongodb サービス (私の場合はホスト: localhost:3001) も起動し、OSX でターミナルを開き、ターミナルを介して、バイナリを取得するために以前にダウンロードした mongodb パッケージの bin フォルダーに移動し、 「モンゴインポート」。mongodb パッケージの bin フォルダーに入ったら、コマンド プロンプトで次のように入力します (一部のスイッチ オプションは異なりますが、--host、--localhost、および --db スイッチ/値は示されているはずです)。

$  ./mongoimport --host localhost:3001 --db meteor --collection datarefs --type tsv --drop --headerline --file /PathToFile/DataRefs.tsv

Enterキーを押した後、mongoimportはターミナルで正常にインポートされました。これが完了すると、ターミナル経由で meteor アプリに移動し、meteor mongo: $meteor mongo を起動できます。このアプリの meteor db にインポートされたコレクション「datarefs」が表示されます。

$  meteor mongo
...
...
meteor:PRIMARY> show collections
datarefs
system.indexes
meteor:PRIMARY>
于 2014-03-02T17:34:12.280 に答える
0

現在、 mongochefを使用してデータベース間でデータを移動しています。とても簡単です。各データベース (通常はローカル データベースとリモート データベース) に接続するだけで、コレクション間でドキュメントをコピー アンド ペーストできます。コマンドライン アプローチよりもはるかに簡単です。

于 2016-12-01T09:10:17.007 に答える
0

xxx.meteor.com への mongoimport を実行するための小さなスクリプト (テンプレート)

    #!/ビン/sh

    # 無料の meteor.com ホスティングにデプロイされた meteor アプリケーションに csvfile をインポートするスクリプト。
    # mongo のバージョンが metor.com mongo のバージョンと一致していることを確認してください。
    # 2016 年 1 月時点では 3.x のようです。mongoimport 3.12 でテスト済み。

    [ $# -eq 0 ] の場合
      それから
        echo "使用法: $0 xxx.meteor.com コレクション filename.csv"
        1番出口
    フィ

    URL=$1
    コレクション=$2
    ファイル=$3

    echo $URL に接続中です。しばらくお待ちください... コレクション=$COLLECTION ファイル=$FILE

    PUPMS=`隕石モンゴ --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:02:40.483 に答える