私はmongoimportコマンドを使用してjsonドキュメントをインポートしようとしていますが、考えられるすべての方法を試しましたが、エラーが発生しています。 Plzはここで何が間違っているのか教えてくれます。 json docの完全なパスを指定しました。 800以上のレコードを持つ大きなドキュメントをインポートしたいのですが、失敗したため、students.jsonには単純な1行{name: "Archana"}が含まれていますが、これでも失敗します。
C:\data\db>mongo
2016-02-02T17:48:44.788+0530 I CONTROL [main] Hotfix KB2731284 or later update is installed, no need to zero-out data
MongoDB Shell version: 3.2.1
connecting to: test
> show collections
names
students
> mondoimport -d test -c students students.json
2016-02-02T17:50:21.001+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(Shell):1:15
> mondoimport -d test -c students < students.json
2016-02-02T17:50:25.840+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(Shell):1:15
> mondoimport -d test -c students < file students.json
2016-02-02T17:50:31.233+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(Shell):1:15
> mondoimport -d test -c students < f students.json
2016-02-02T17:50:35.417+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(Shell):1:15
> mondoimport -d test -c students < f C:\data\db\students.json
2016-02-02T17:50:51.658+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(Shell):1:15
> mondoimport -d test -c students < f "C:\data\db\students.json"
2016-02-02T17:50:56.897+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(Shell):1:15
> mondoimport -d test -c students C:\data\db\students.json
2016-02-02T17:51:06.849+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(Shell):1:15
> mondoimport -db test -c students C:\data\db\students.json
2016-02-02T17:54:33.545+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(Shell):1:16
> mondoimport --db test --collection students C:\data\db\students.json
2016-02-02T17:56:24.253+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(Shell):1:14
> mondoimport --db test --collection students --file C:\data\db\students.json
2016-02-02T17:56:33.589+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(Shell):1:14
> mondoimport --db test --collection students --file C:\data\db\students.json --jsonArray
2016-02-02T17:58:21.131+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(Shell):1:14
> mondoimport --db test --collection students C:\data\db\students.json --jsonArray
2016-02-02T17:58:32.650+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(Shell):1:14
このコマンドはおそらくmongo Shellの下で実行しています。パス_program files/mongodb/server/3.2/bin
_でわかるように、mongoimportとしてmongodの下にコマンドはありません。そのため、問題を解決するには、cmdプロンプトをファイルに移動し、mongo Shell(mongo)
を使用せずにcmdプロンプトでコマンドを実行します。
私はmongo Shellからmongoimportを使用しようとしていました。したがって、答えは「mongoimportは別のユーティリティです」ですので、mongoimportを使用する場合は、「mongod」を使用してmongoサーバーを起動した後、別のcmdを起動してC:\ Program Files\MongoDB\Server\3.2\binに移動する必要がありますurパスにある必要があり、「mongoimport」コマンドを実行する必要があります。 「mongo」シェルから「mongoimport」の使用を開始すると、機能しなくなります。
mongoimportは異なるユーティリティであるため、異なるコマンドプロンプトを使用します。
指定された方法で次の手順を試してください。
ステップ1。新しいコマンドプロンプトで、cdを使用してmongoのbinディレクトリの場所に移動します。例えば:
cd c:\MongoDB\bin
ステップ2。次のコマンドを実行します。
mongoimport --db test --collection restaurants --file location/of/jsonfile
このようにしてみてください。このコードをテキストドキュメントでコピーして、.sh拡張子で保存します。両方のファイルをデスクトップに配置し、ターミナルで.shファイルを実行します
mongoimport --db test --collection students --file students.json
こんにちは、次のことを行う必要があります。
C:/Users/DEEPU/students.json
cd
コマンドを使用してそのディレクトリに移動します。mongoimport --drop -d students -c grades grades.json
と入力します下の link をクリックして、動作を確認します。
Windows 10でも同じエラーを実行していました。はい、mongoimportはmongo Shellの外部で実行する必要があります。
システムパスのbinまでmongoインストールパスを確認してください。そうしないとエラーがスローされます。そして、コマンドウィンドウから以下のコマンドを実行します[mongo Shellではありません]
mongoimport --db testdb --collection mytable --file "D:\Emp.json"
bin> mongoexport -d databasename -c collectionName -o export.json
まず、私の場合、mongoexport.exeがシステム内にあるフォルダーに移動します(C:\ Program Files\MongoDB\Server\4.0\bin)。次に、mongoシェルではなく、cmdターミナルでmongoimportコマンドを実行します。 mongoimportコマンドは、mongo Shellで実行しないでください。
実行:
C:\Program Files\MongoDB\Server\4.0\bin>mongoimport --db project --collection users --file data.json
Linuxの場合:
$./mongoimport --db project --collection users --file data.json
ここで、data.jsonファイルは同じディレクトリにあります。そうでない場合、mongoimportはファイルにpath/locationを指定する必要があります。
windowsマシンを使用している場合は、新しいコマンドプロンプトを開き、次のようにしてください:
mongoimport.exe -h localhost:27017 -d sampleTestDB -c testc -u "" -p "" D:\mongoSample.json
注:PATHを設定しない場合は、パスを設定してからこれを試してください。
パスを設定するには?
==>環境変数でPATHを選択し、「編集」をクリックして、ここに示すようにmongodbのインストール済みパスをコピーして保存します
C:\Program Files\MongoDB\Server\3.4\bin
私はubuntu 16.04でも同じ問題に直面していました。誤解されていましたが、MongoDB Shell内で実行されていました。 mongoimportはユーティリティツールです。新しいターミナルを開き、mongodbシェル内ではなくmongoimportコマンドを実行するだけです。 mongoimport --db <dbname> --collection zips --drop --file <location of file>
同じことがmongorestore
にも機能します。 dbまたはそのスキーマを復元する必要がある場合は、.Zipファイルがあるパスに移動してから、mongorestoreコマンドを実行する必要があります。 mongorestore <filename>