2013-03-24 6 views
10

के दौरान त्रुटि मेरे पास कुछ वैध JSON दस्तावेज़ हैं और मैं उन्हें mongodb में आयात करने का प्रयास करता हूं।mongoimport

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

किसी का कहना है कि कर सकते हैं कि क्या गलत है:

{ "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"}] 
} 

मैं निम्न त्रुटि मिल गया?

+1

के लिए इस पूरी JSON दस्तावेज़ आयात करने के लिए कोशिश कर रहे हैं? त्रुटि से पता चलता है कि आपकी फ़ाइल [16MB से अधिक] है (http://stackoverflow.com/questions/14109474/mongodb-mongoimport-too-large-failure-parsing-errors)। –

+0

यह संपूर्ण दस्तावेज है, जिसमें 888 बाइट्स – damluar

उत्तर

30

डिफ़ॉल्ट रूप से mongoimport उम्मीद करता है कि प्रत्येक दस्तावेज़ JSON फ़ाइल की एक पंक्ति पर होगा। आप जिस प्रारूप का उपयोग कर रहे हैं उसका उपयोग कर --jsonArraymongoimport पास करने की आवश्यकता है, या केवल यह सुनिश्चित कर लें कि एक ही दस्तावेज़ के लिए सभी डेटा एक पंक्ति पर है।

(मैं, अपनी फ़ाइल सहेज है के रूप में --jsonArray कहा, विकल्प और यह ठीक काम किया।)

1

मोंगोडीबी की प्रति दस्तावेज़ 16 एमबी की सीमा है। यदि आप इस सीमा को पार करना चाहते हैं तो आपको GridFS का उपयोग करने की आवश्यकता है। कृपया here पर प्रलेखन देखें।

+0

शामिल हैं, मैंने पूरी फ़ाइल पोस्ट की है, इसलिए कुल 8812 बाइट्स कुल – 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 फ़ाइल आयात करना चाहते हैं तो आप इस भी

+०१२३५१६४१०६ उपयोग कर सकते हैं

भी सीएसवी उपयोग --type csv

mongoimport --db database --collection collection_name filename.json --type json 
संबंधित मुद्दे