2013-08-25 13 views
15

mongodbデータベースを初めて使用しています。私はデータストアをjsonファイルとして格納するアプリケーションを作成します。 私がしたいことは、そのデータをmongodbにインポートし、それをコマンドプロンプトに表示することです。 私はすでに次のコマンドを試してみましたが、エラーがFailure parsing josn near: } 私のコマンドが表示されているが、次のとおりです。mongodbでjsonファイルをインポートするには?

mongoimport -d mydb -c mydb --type json --file glossary.json --headerline

私はC言語でJSONファイルを置く:私はadvace \のMongoDB \ binに\ glossary.json ありがとうを。

{ 
"glossary": { 
    "title": "example glossary", 
    "GlossDiv": { 
     "title": "S", 
     "GlossList": { 
      "GlossEntry": { 
       "ID": "SGML", 
       "SortAs": "SGML", 
       "GlossTerm": "Standard Generalized Markup Language", 
       "Acronym": "SGML", 
       "Abbrev": "ISO 8879:1986", 
       "GlossDef": { 
        "para": "A meta-markup language, used to create markup languages such as DocBook.", 
        "GlossSeeAlso": ["GML", "XML"] 
       }, 
       "GlossSee": "markup" 
      } 
     } 
    } 
} 
} 

答えて

20

JSONには1つのオブジェクトしかないようです。 {..},{..}のような書式が必要です。だから、

--jsonArrayオプションを使用します。他のオプションは、MongoDBのは、それがあることを期待として、ソースドキュメントの書式を設定することである

mongoimport -d mydb -c mycollection --jsonArray < glossary.json 

を。これにより、読み込みがはるかに高速になります。

+0

thanx S.D.でも同じエラーが表示されます – arglee

+0

@ user2511142 '--jsonArray'オプションを使用しましたが、これはあなたのファイルに有効でした。回答が更新されました。 –

+0

x @ S.D。それは働いています.. – arglee

3

大きなコレクションをお持ちの場合は、--jsonArrayのインポートに非常に時間がかかります。私は約10文書/秒を得ていた。適切にフォーマットされた.jsonファイルをお持ちの場合は、代わりに--fileを使用してください。私は現在約6000件の文書を取得しています。

良いこと私は最初のオプションには解決しませんでした!

関連する問題