2017-10-05 8 views
0

シェル/ cmdプロンプトでmongoimportを使用してCSVファイルをコレクションとしてインポートする方法、または3TスタジオなどのGUIを使用してCSVファイルをインポートする方法を知っています。 各行はタイトルとしてヘッダ行を含むドキュメントです。複数のcsvをmongodbにインポート

例えばcsvファイル名Data.csv headerlineと内容は以下の通りです:

Example

それは1つのファイルだけのためである場合には、上記の方法を使用して非常に簡単に行うことができます。

私は知っているかもしれませんが、複数のファイル(数百)をインポートする方法があります。コレクションの下に各文書などのコレクション名などのコレクション - 使用したファイル名として - セパレート各ファイル -Importすべてのコンテンツ

ベストnodejsを使用することができますが、他の方法は歓迎以上です。

ありがとうございます。 bashで

for i in `ls ~/te/*.csv`; do 
    ./mongoimport -d test $i --type=csv --headerline ; 
done 

const exec = require('child_process').exec; 
var yourscript = exec('bash mongoin.sh /te', 
    (error, stdout, stderr) => { 
     console.log(`${stdout}`); 
     console.log(`${stderr}`); 
     if (error !== null) { 
      console.log(`exec error: ${error}`); 
     } 
    }); 

答えて

1

更新:バッチで

for i in `ls ~/Desktop/*.csv`; do 
    ./mongoimport -d local $i --type=csv --headerline ; 
done 

forfiles /p c:\te /m *.csv /c "cmd /c mongoimport -d local @file --type csv --headerline" 

~/Desktop/*.csv is the folder where the csv files are located. 

そしてローカルにインポートするのMongoDBデータベースです。

コレクションの名前は、各csvファイルのベースファイル名によって選択されます。

for i in `ls $1`; do 
    ./mongoimport -d local $i --type=csv --headerline ; 
done 

そして、次のコードを使用して、ノードからそれを呼び出す:

言って、スクリプトでをmymongo.shのbashコードの内容を入れて

const exec = require('child_process').exec; 
var yourscript = exec('bash mymongo.sh /Users/niko/Desktop', 
     (error, stdout, stderr) => { 
      console.log(`${stdout}`); 
      console.log(`${stderr}`); 
      if (error !== null) { 
       console.log(`exec error: ${error}`); 
}}); 

または上コードはです。mymongo.bat

const exec = require('child_process').exec; 
var yourscript = exec('cmd /c c:/te/mymongo.bat', 
     (error, stdout, stderr) => { 
      console.log(`${stdout}`); 
      console.log(`${stderr}`); 
      if (error !== null) { 
       console.log(`exec error: ${error}`); 
}}); 
+0

ありがとう。私はまだこれについて全く新しいです。どこに私はこれを置いたのですか? app.jsに移動しますか?何かを含める必要がありますか?より詳細なプログラムが評価されます。トラブルのために謝罪。ありがとうございました。 – SILearner

+0

こんにちは、私は直接Cドライブの下に "te"フォルダにbashを入れて、CSVファイルも入れてください。編集したコードは私が行ったことです。しかし、何も起こりません。何か間違っている? – SILearner

+0

こんにちは、お手数ですが残念です。あなたは私にさらに助言してもらえますか?ありがとうございました。 – SILearner

関連する問題