2013-08-25 10 views
15

मैं mongodb डेटाबेस के लिए नया हूँ। मैं एक ऐसा एप्लिकेशन बना रहा हूं जिसमें डेटा स्टोर जेएसएस फ़ाइल के रूप में हो। मैं जो करना चाहता हूं वह उस डेटा को mongodb में आयात करना है और फिर उसे कमांड प्रॉम्प्ट पर प्रदर्शित करना है। मैं पहले से ही निम्न कमांड की कोशिश की लेकिन त्रुटि Failure parsing josn near: } मेरे आदेश प्रदर्शित कर रहा है है:mongodb में जेसन फ़ाइल कैसे आयात करें?

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

मैं ग में json फ़ाइल डाल: \ MongoDB \ बिन \ glossary.json thanx मैं advace।

{ 
"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 में केवल एक ही वस्तु है। {..},{..} जैसे प्रारूप की उम्मीद है।

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

अन्य विकल्प स्रोत दस्तावेज़ फ़ॉर्मेट करने के लिए के रूप में MongoDB यह हो जाने की उम्मीद है:

तो, --jsonArray विकल्प का उपयोग करें। यह बहुत तेजी से लोड हो जाएगा।

+0

thanx S.D. लेकिन अभी भी एक ही त्रुटि दिखा रहा है – arglee

+0

@ user2511142 मैंने '--jsonArray' विकल्प का उपयोग किया, यह आपकी फ़ाइल के लिए काम किया। उत्तर में अपडेट किया गया। –

+0

थेंक्स @ एसडी। यह काम कर रहा है .. – arglee

3

यदि आपके पास एक बड़ा संग्रह है, तो --jsonArray आयात करने में बहुत लंबा समय लगता है। मुझे लगभग 10 दस्तावेज़/सेकंड मिल रहे थे। यदि आपके पास .json फ़ाइल ठीक से स्वरूपित है तो आप इसके बजाय --file का उपयोग कर सकते हैं। मुझे अब लगभग 6000 दस्तावेज़/दूसरे मिल रहे हैं।

अच्छी बात यह है कि मैंने पहले विकल्प के लिए व्यवस्थित नहीं किया था!

संबंधित मुद्दे