web-dev-qa-db-ja.com

mongoimport: '設定の検証エラー:1つの位置引数のみが許可されます'

さて、私はダミーのJSONファイルをMongoDBにインポートしてこのエラーを取得しようとしていますが、Google検索では明確な説明が得られません。このトピックは すでにここにあります ですが、それは構文です関連するエラー。

私の構文は大丈夫だと思いますが、そうでない場合は指摘して知らせてください。また、他の問題は私のパス[フォーマットが正しい]だと思いますか?それとも私が見逃しているのはまったく違うものですか。

エラーがわからないので、自分で理解するのに適した「わかりやすい英語」の説明がどこにも見つからないので、リンクがあればぜひドロップしてください。

エラー:

$ mongoimport --jsonArray --collection bank_data /Macintosh HD/Users/Tinus/Downloads/bank_data.json/bank_data.json
2016-09-20T13:23:56.592+1200    error validating settings: only one positional argument is allowed

-:OSXの実行-:Mongodの開始-:/ data/dbパスを使用し、「Allgood」のテストに接続-:別のシェルからmongoimportを実行


$ mongo --version MongoDB Shell version: 3.2.8

$ mongoimport --jsonArray --collection some_data --file /path/path/data.json
$ mongoimport --jsonArray --collection some_data /path/path/data.json

A)-fileを追加すると、次のようになります。互換性のないオプション:-fileと位置引数

6
Hendrik

あなたの道を引用することによってそのようにそれを試してください

$ mongoimport --jsonArray --collection bank_data '/Macintosh HD/Users/Tinus/Downloads/bank_data.json/bank_data.json'  

エラー

error validating settings: only one positional argument is allowed

パスにスペースが含まれているため、パスが2つの別々の引数に分割されます(周囲の引用符で保護されていない場合)。


ところで:あなたのパスは1つの'...bank_data.json/bank_data.json'だけでなく'bank_data.json'で終わっていると確信していますか?

7
DAXaholic

〜修正〜

A)ルート上の新しいフォルダから直接リードにパスを変更しましたB)mac osxで同じ問題が発生している他の人の場合-パスのベースルートを省略します。上記の例では、[MacintoshHD]でインポートが機能します指定せずに。したがって、それはに変更されました。

        $ mongoimport --jsonArray --collection bank_data '/Users/Tinus/Downloads/bank_data.json/bank_data.json'

C)はい、引用符は必須であり、追加されました…D)mongoShell内で実行しないように注意してください。

DAXaholicに再び親指を立てる

3
Hendrik

上記の解決策は、Windows10では機能しませんでした。次のように解決策を見つけました。

mongoimport --jsonArray --db=db_name --collection=collection_name --file=file_name.json

その結果:

2019-12-29T02:26:50.041-0700    connected to: mongodb://localhost/
2019-12-29T02:26:50.088-0700    2411 document(s) imported successfully. 0 document(s) failed to import.
0
skel625

コマンドラインに--headerlineを含めてtsvファイルをdbにインポートしているときに同じ問題に直面しても、問題は解決しました。tsvファイルを正常にインポートするために使用されるインポートコマンド全体を見つけてください。

mongoimport --Host Cluster0-shard-0/cluster0-shard-00-00-qvmvm.mongodb.net:27017、cluster0-shard-00-01-qvmvm.mongodb.net:27017、cluster0-shard-00-02- qvmvm.mongodb.net:27017 --ssl --username Learning --password --authenticationDatabase admin --db node_deploy --collection node_deploy --type tsv --file games.tsv --headerline [注]上記のコマンドはインポートするものですmongodb.comを使用してAWSでホストされているmongodbへのtsv形式のデータベース

0
Anand Devarajan