MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

एक JSON फ़ाइल में MongoDB संग्रह निर्यात करें

MongoDB डेटाबेस टूल्स में mongoexport . नामक एक उपयोगिता शामिल है जो आपको MongoDB डेटा को CSV या JSON फ़ाइल में निर्यात करने में सक्षम बनाता है।

यह लेख आपको mongoexport . का उपयोग करने का तरीका दिखाता है MongoDB संग्रह को JSON फ़ाइल में निर्यात करने के लिए।

सिंटैक्स

mongoexport . के लिए सिंटैक्स इस तरह जाता है:

mongoexport --collection=<coll> <options> <connection-string>

आपको mongoexport चलाने की जरूरत है आपके सिस्टम की कमांड लाइन से कमांड (जैसे एक नया टर्मिनल या कमांड प्रॉम्प्ट विंडो)।

mongoexport न चलाएं mongo . से आदेश सीप।

संग्रह निर्यात करें

निम्न उदाहरण कोड MongoDB से JSON फ़ाइल में एक संग्रह निर्यात करता है:

mongoexport --db=PetHotel --collection=pets --out=data/pets.json

यह pets . नामक संग्रह को निर्यात करता है PetHotel . से pets.json . नामक फ़ाइल के लिए डेटाबेस data/ में फ़ोल्डर।

यदि फ़ोल्डर मौजूद नहीं है, तो इसे बनाया गया है। फ़ाइल के साथ ही। वैसे, यह मानता है कि निर्दिष्ट स्थान पर फ़ाइल लिखने में कोई अनुमति समस्या नहीं है।

इस उदाहरण में मैंने कोई होस्ट, पोर्ट, प्रमाणीकरण आदि निर्दिष्ट नहीं किया है, इसलिए यह डिफ़ॉल्ट लोकलहोस्ट पोर्ट नंबर 27017 पर चल रहे MongoDB इंस्टेंस से संग्रह को निर्यात करता है। ।

उपरोक्त उदाहरण को इस प्रकार भी लिखा जा सकता है:

mongoexport --db=PetHotel --collection=pets --type=json --fields=_id,name,type,weight --out=data/pets.json

इस मामले में हमने --type जोड़ा है पैरामीटर और एक --fields यह निर्दिष्ट करने के लिए कि JSON फ़ाइल में कौन-से फ़ील्ड शामिल करने हैं।

नीचे हमारे द्वारा प्रदान किए गए मापदंडों की व्याख्या है।

<थ>विवरण
पैरामीटर
--db
या
-d
उस डेटाबेस को निर्दिष्ट करता है जिसमें वह संग्रह होता है जिसे हम निर्यात करना चाहते हैं। इस मामले में, डेटाबेस को PetHotel . कहा जाता है .
यह पैरामीटर वैकल्पिक रूप से -d . का उपयोग करके पारित किया जा सकता है (--db . के बजाय )।
--collection
या
-c
उस संग्रह को निर्दिष्ट करता है जिसे हम निर्यात करना चाहते हैं। इस मामले में, संग्रह को pets . कहा जाता है .
यह पैरामीटर वैकल्पिक रूप से -c . के रूप में पारित किया जा सकता है (--collection . के बजाय )।
--type निर्यात की गई फ़ाइल प्रकार निर्दिष्ट करता है। इस मामले में हम json . निर्दिष्ट करते हैं इसे JSON फ़ाइल में निर्यात करने के लिए। json डिफ़ॉल्ट मान है, इसलिए यदि हम इस पैरामीटर को निर्दिष्ट नहीं करते हैं, तो फ़ाइल एक JSON फ़ाइल के रूप में आउटपुट होती है।
--fields उन फ़ील्ड को निर्दिष्ट करता है जिन्हें हम निर्यात करना चाहते हैं। हमारे पास संग्रह में सभी फ़ील्ड निर्यात करने का विकल्प है, या बस कुछ को। एक से अधिक फ़ील्ड नामों को अल्पविराम से अलग करें। JSON को निर्यात करते समय, फ़ील्ड नाम निर्दिष्ट करना वैकल्पिक है (CSV के विपरीत)।
--out निर्यात की गई फ़ाइल का नाम निर्दिष्ट करता है और यह कहां स्थित होगा। यदि आप फ़ाइल नाम निर्दिष्ट नहीं करते हैं, mongoexport मानक आउटपुट के लिए डेटा लिखता है (stdout )।

निर्यात की गई फ़ाइल की जांच करें

आइए सत्यापित करें कि निर्यात कार्रवाई अपेक्षित रूप से काम कर रही है।

सबसे पहले, आइए मूल संग्रह की जांच करें।

use PetHotel
db.pets.find()

परिणाम:

{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }
{ "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 }
{ "_id" : 5, "name" : "Bruce", "type" : "Bat", "weight" : 3 }
{ "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 }
{ "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }

इसलिए हम देख सकते हैं कि 7 पालतू जानवर हैं, सभी समान फ़ील्ड वाले हैं जिन्हें हमने अपने निर्यात ऑपरेशन में निर्दिष्ट किया है।

अब एक्सपोर्ट की गई फाइल को खोलें pets.json अंदर क्या है देखने के लिए:

{"_id":1.0,"name":"Wag","type":"Dog","weight":20.0}
{"_id":2.0,"name":"Bark","type":"Dog","weight":10.0}
{"_id":3.0,"name":"Meow","type":"Cat","weight":7.0}
{"_id":4.0,"name":"Scratch","type":"Cat","weight":8.0}
{"_id":5.0,"name":"Bruce","type":"Bat","weight":3.0}
{"_id":6.0,"name":"Fetch","type":"Dog","weight":17.0}
{"_id":7.0,"name":"Jake","type":"Dog","weight":30.0}

सभी डेटा निर्यातित फ़ाइल में अपेक्षित के रूप में है।

कम फ़ील्ड

आप --fields . का उपयोग कर सकते हैं पैरामीटर निर्दिष्ट करने के लिए कि आप किन क्षेत्रों को निर्यात करना चाहते हैं।

जब आप JSON फ़ाइलों पर ऐसा करते हैं, तो _id फ़ील्ड हमेशा निर्यात की जाती है (भले ही आप इसे निर्यात करने के लिए फ़ील्ड की सूची में शामिल न करें)।

उदाहरण:

mongoexport --db=PetHotel --collection=pets --fields=name,type --out=data/pets.json

इस मामले में मैं निर्यात करने के लिए दो फ़ील्ड निर्दिष्ट करता हूं।

जब मैं निर्यात की गई फ़ाइल खोलता हूं, तो मैं देख सकता हूं कि उन दोनों क्षेत्रों को निर्यात किया गया है, प्लस _id फ़ील्ड:

{"_id":1.0,"name":"Wag","type":"Dog"}
{"_id":2.0,"name":"Bark","type":"Dog"}
{"_id":3.0,"name":"Meow","type":"Cat"}
{"_id":4.0,"name":"Scratch","type":"Cat"}
{"_id":5.0,"name":"Bruce","type":"Bat"}
{"_id":6.0,"name":"Fetch","type":"Dog"}
{"_id":7.0,"name":"Jake","type":"Dog"}

पहुंच नियंत्रण/प्रमाणीकरण

यदि आप लोकलहोस्ट का उपयोग नहीं कर रहे हैं, तो आप --host . का उपयोग कर सकते हैं होस्ट निर्दिष्ट करने के लिए पैरामीटर, और --port पोर्ट निर्दिष्ट करने के लिए। आप --username . का भी उपयोग कर सकते हैं उपयोगकर्ता नाम निर्दिष्ट करने के लिए पैरामीटर और --password पासवर्ड के लिए। यदि आप पासवर्ड पैरामीटर को छोड़ देते हैं, तो आपको इसके लिए संकेत दिया जाएगा। एक --authenticationDatabase भी है प्रमाणीकरण डेटाबेस निर्दिष्ट करने के लिए पैरामीटर जहां उपयोगकर्ता बनाया गया है।

उदाहरण:

mongoexport --host=myhost.example.com --port=37017 --username=homer --authenticationDatabase=admin --db=PetHotel --collection=pets --out=data/pets.json

mongoexport की जांच करें

mongoexport MongoDB डेटाबेस टूल्स पैकेज का हिस्सा है। MongoDB डेटाबेस टूल्स MongoDB के साथ काम करने के लिए कमांड-लाइन उपयोगिताओं का एक सूट है।

यदि आप सुनिश्चित नहीं हैं कि आपके पास MongoDB डेटाबेस टूल्स/mongoexport है या नहीं स्थापित है, जाँच करने के लिए अपने टर्मिनल या कमांड प्रॉम्प्ट में निम्न कमांड चलाने का प्रयास करें:

mongoexport --version

यदि आपके पास है, तो आपको संस्करण की जानकारी आदि देखनी चाहिए। यदि आपके पास यह नहीं है, तो आप इसे अपने सिस्टम पर स्थापित करने के लिए MongoDB वेबसाइट पर इंस्टॉलेशन निर्देशों का उपयोग कर सकते हैं।

कहां कमांड चलाएं?

मत भूलो, आपको mongoexport चलाने की आवश्यकता है आपके सिस्टम की कमांड लाइन से कमांड (जैसे एक नया टर्मिनल या कमांड प्रॉम्प्ट विंडो)।

उन्हें mongo . से न चलाएं सीप।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी:कई मानदंडों के साथ ऐरे में मूल्य पाएं

  2. MongoDB $sum एकत्रीकरण पाइपलाइन ऑपरेटर

  3. मोंगोडीबी $dayOfMonth

  4. MongoClient उदाहरण बनाते समय अपवाद कैसे पकड़ें?

  5. java.lang.IncompatibleClassChangeError:कक्षा Mongo लागू करना