web-dev-qa-db-ja.com

mongoimport jsonファイルの構文

私は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
12
Archana Mundaye

このコマンドはおそらくmongo Shellの下で実行しています。パス_program files/mongodb/server/3.2/bin_でわかるように、mongoimportとしてmongodの下にコマンドはありません。そのため、問題を解決するには、cmdプロンプトをファイルに移動し、mongo Shell(mongo)を使用せずにcmdプロンプトでコマンドを実行します。

37
Akshay Seth

私はmongo Shellからmongoimportを使用しようとしていました。したがって、答えは「mongoimportは別のユーティリティです」ですので、mongoimportを使用する場合は、「mongod」を使用してmongoサーバーを起動した後、別のcmdを起動してC:\ Program Files\MongoDB\Server\3.2\binに移動する必要がありますurパスにある必要があり、「mongoimport」コマンドを実行する必要があります。 「mongo」シェルから「mongoimport」の使用を開始すると、機能しなくなります。

6
Archana Mundaye

mongoimportは異なるユーティリティであるため、異なるコマンドプロンプトを使用します。

5
Archana Mundaye

mongoimport command

指定された方法で次の手順を試してください。

ステップ1。新しいコマンドプロンプトで、cdを使用してmongoのbinディレクトリの場所に移動します。例えば:

cd c:\MongoDB\bin

ステップ2。次のコマンドを実行します。

mongoimport --db test --collection restaurants --file location/of/jsonfile
4
Piyush Singh

このようにしてみてください。このコードをテキストドキュメントでコピーして、.sh拡張子で保存します。両方のファイルをデスクトップに配置し、ターミナルで.shファイルを実行します

mongoimport --db test --collection students --file students.json
3
Raj

こんにちは、次のことを行う必要があります。

  1. JSONファイルをディレクトリに保存します。例:C:/Users/DEEPU/students.json
  2. コマンドプロンプトを開き、ファイルが保存されているcdコマンドを使用してそのディレクトリに移動します。
  3. 次にmongoimport --drop -d students -c grades grades.jsonと入力します

下の link をクリックして、動作を確認します。

3
Deepak

Windows 10でも同じエラーを実行していました。はい、mongoimportはmongo Shellの外部で実行する必要があります。

システムパスのbinまでmongoインストールパスを確認してください。そうしないとエラーがスローされます。そして、コマンドウィンドウから以下のコマンドを実行します[mongo Shellではありません]

mongoimport --db testdb --collection mytable --file "D:\Emp.json"
0
kartik kudada

bin> mongoexport -d databasename -c collectionName -o export.json

0
Soshiv Upreti

まず、私の場合、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を指定する必要があります。

0
Tikaram Mardi

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
0
Vinod Poorma

私はubuntu 16.04でも同じ問題に直面していました。誤解されていましたが、MongoDB Shell内で実行されていました。 mongoimportはユーティリティツールです。新しいターミナルを開き、mongodbシェル内ではなくmongoimportコマンドを実行するだけです。 mongoimport --db <dbname> --collection zips --drop --file <location of file>

0

同じことがmongorestoreにも機能します。 dbまたはそのスキーマを復元する必要がある場合は、.Zipファイルがあるパスに移動してから、mongorestoreコマンドを実行する必要があります。 mongorestore <filename>

0
codeboy