10

コマンド ライン (MongoDB) からインポートまたはエクスポートしようとする場合: 例:

> mongoimport --db denistest --collection things --type csv --file C:/Users/Administrator/Desktop/csv_data.csv

JavaScript の実行に失敗しました: SyntaxError: 予期しない識別子」エラーが発生していますか?

ここで何が問題なのですか?

4

3 に答える 3

27

私はついに問題を見つけました。mongo.exe でコマンドを実行していました。( C:\mongodb\bin>mongo を開き、コマンドを実行しました)

C:\mongodb\bin>mongo
MongoDB shell version: 2.4.0
connecting to: test
>
> mongoimport --db denistestcsv --collection things --type csv --fields First,La
st,Visits,Location,Number,Url,Letter --file E:\temp\csv1.csv

しかし、これは間違っています。正しい方法は、mongo => bin => に移動し、mongo.exe を入力せずにコマンドを実行することです。

C:\mongodb\bin>mongoimport --db denistestcsv --collection things --type csv --fi
elds First,Last,Visits,Location,Number,Url,Letter --file E:\temp\csv1.csv
于 2013-03-30T11:18:37.713 に答える
1

という名前のファイルに保存されたサンプル データを使用しますcsv1.csv

"denis","omeri","21","Tirana","1","http:/google.com","m" 
"olgert","llojko","20","Prrenjas","2","http:/facebook.com","m"

次のコマンドラインを実行しました(ここでは読みやすくするために分割し、フィールド名を作成しました):

mongoimport --db test 
    --collection things 
    --type csv 
    --fields First,Last,Visits,Location,Number,Url,Letter 
    --file d:\temp\csv1.csv

そして、正常にインポートされます:

connected to: 127.0.0.1
Thu Mar 28 07:43:53.902 imported 2 objects

そしてthingsDBで:

> db.things.find()
{ "_id" : ObjectId("51543b09d39aaa258e7c12ee"), 
     "First" : "denis", "Last" : "omeri", "Visits" : 21, 
     "Location" : "Tirana", 
     "Number" : 1, "Url" : "http:/google.com", "Letter" : "m" }
{ "_id" : ObjectId("51543b09d39aaa258e7c12ef"), 
     "First" : "olgert", "Last" : "llojko", "Visits" : 20, 
     "Location" : "Prrenjas", 
     "Number" : 2, "Url" : "http:/facebook.com", "Letter" : "m" }

(2.4 では CSV ファイルのヘッダー行オプションがなぜか機能しませんでしたが、コマンドラインでフィールドを指定するオプションも同様に機能します。コマンドラインfieldFileオプション)

于 2013-03-28T12:50:01.940 に答える
0

Dennis Omeri の回答に基づいて、CLI を介して mongolab MongoDB インスタンスにリモート接続しようとすると、同様の問題が発生しました。MongoDBのフォルダーからもコマンドを実行する必要がありましたbinが、彼の答えが示すほど簡単ではありません。

私の場合、mongodbOSXに自作経由でインストールしました(brew install mongodb自作がインストールされていると仮定します)。それは私のmongoシステムファイルを入れました:(/usr/local/cellar/mongodb/3.0.3/binあなたのバージョンのmongoのサブで、パスは良いはずです)。

次に、次の項目を見つけます。

  • mongolab URL (ds123456-a.mongolab.com のようなものにする必要があります)
  • ポート番号 (おそらく 27799 または 2####)
  • データベース ユーザー (これは mongolab で設定する必要があります)
  • データベースのパスワード (これも mongolab で設定します)

次に、次の文字列を使用してmongolabに接続できます
mongo ds123456.mongolab.com:27799/dbname -u dbuser -p dbpassword

また、注意: 私の場合、Heroku アドオンを介して mongolab をセットアップしました。つまり、mongolab db user/pw セットアップ エリアにアクセスするには、heroku ダッシュボードで認証する必要があります。これはどこにも実際に文書化されていないので、この混乱に迷い込んだ次の魂を助けるために、この回答を追加しています.

于 2016-02-22T04:24:15.040 に答える