2013-03-24 5 views
10

私はいくつかの有効なJSONドキュメントを持っており、それらをmongodbでインポートしようとしています。mongoimportの間のエラー

{ "Books": 
    [{ "ISBN":"ISBN-0-13-713526-2", 
    "Price":85, 
    "Edition":3, 
    "Title":"A First Course in Database Systems", 
    "Authors":[ {"First_Name":"Jeffrey", "Last_Name":"Ullman"}, 
       {"First_Name":"Jennifer", "Last_Name":"Widom"} ] } 
, 
{ "ISBN":"ISBN-0-13-815504-6", 
    "Price":100, 
    "Remark":"Buy this book bundled with 'A First Course' - a great deal!", 
    "Title":"Database Systems:The Complete Book", 
    "Authors":[ {"First_Name":"Hector", "Last_Name":"Garcia-Molina"}, 
       {"First_Name":"Jeffrey", "Last_Name":"Ullman"}, 
       {"First_Name":"Jennifer", "Last_Name":"Widom"} ] }], 
"Magazines": 
[{ "Title":"National Geographic", 
    "Month":"January", 
    "Year":2009 } 
, 
{ "Title":"Newsweek", 
    "Month":"February", 
    "Year":2009 }, 
{"Title": "Newsweek"}] 
} 

私は、次のエラーを得た:

Sun Mar 24 15:23:27 exception:BSON representation of supplied JSON is too large: Failure parsing JSON string near: "Month":"J Sun Mar 24

15:23:27 exception:BSON representation of supplied JSON is too large: Failure parsing JSON string near: "Year":200 Sun Mar 24 15:28:23

ERROR: encountered 28 errors

は、誰かが間違って何を言ってもらえますか?

+1

これは、インポートしようとしている全体のJSONドキュメントのですか?このエラーは、ファイルが[16MBを超える]ことを示しています(http://stackoverflow.com/questions/14109474/mongodb-mongoimport-too-large-failure-parsing-errors)。 –

+0

これは全体の文書で、888バイトを含んでいます – damluar

答えて

30

デフォルトでは、mongoimportは、各ドキュメントがJSONファイルの1行にあることを想定しています。使用しているフォーマットを使用して--jsonArraymongoimportに渡すか、1つのドキュメントのすべてのデータが1行にあることを確認する必要があります。

(。私があるように、あなたのファイルを保存したオプション、--jsonArrayを追加し、それがうまく働いた)

1

MongoDBのドキュメントあたりの制限は16 MBです。この制限を克服するには、GridFSを使用する必要があります。ドキュメントhereを見てください。

+0

ファイル全体を投稿しましたので、合計で888バイトです – damluar

+0

これで、あなたはそのようなエントリがたくさんあると思います。 – Michal

0

端末から次のコマンドを実行すると、私のために良い仕事を:

mongoimport -d my_db -c my_collection < my_json_file.json --batchSize 1 

いくつかのバージョンを変更する必要があります--batchSize 50の代わりに、下記のような1:

mongoimport -d my_db -c my_collection < my_json_file.json --batchSize 50 
0

あなたはJSONファイルをインポートしたい場合は、また

これを使用することができます CSVでの使用のためにも

--type csv

mongoimport --db database --collection collection_name filename.json --type json 
関連する問題