क्या जोंस प्रारूप में मोंगो संग्रह को डंप करने का कोई तरीका है? या तो शेल पर या जावा चालक का उपयोग कर। मैं सबसे अच्छे प्रदर्शन के साथ देख रहा हूँ।
क्या जोंस प्रारूप में मोंगो संग्रह को डंप करने का कोई तरीका है? या तो शेल पर या जावा चालक का उपयोग कर। मैं सबसे अच्छे प्रदर्शन के साथ देख रहा हूँ।
जवाबों:
मोंगो में एक मोंगोएक्सपोर्ट उपयोगिता (डॉक्स देखें) शामिल है जो एक संग्रह को डंप कर सकती है। यह उपयोगिता मूल निवासी libmongoclient का उपयोग करती है और संभवतः सबसे तेज़ विधि है।
mongoexport -d <database> -c <collection_name>
इसके अलावा मददगार:
-o
: आउटपुट को फ़ाइल में लिखें, अन्यथा मानक आउटपुट का उपयोग किया जाता है ( डॉक्स )
--jsonArray
: प्रति पंक्ति एक डॉसन ऑब्जेक्ट ( डॉक्स ) के बजाय एक वैध जसन दस्तावेज बनाता है
--pretty
: आउटपुट स्वरूपित json ( डॉक्स )
--pretty
झंडे का उपयोग करें :mongoexport -d mydatabase -c mycollection --pretty
mongoexport --host mongodb1.example.net --port 37017 --username user --password "pass" --collection contacts --db marketing --out mdb1-examplenet.json
--pretty
संस्करण 2.6.10 के रूप में चला गया है।
किसी संग्रह को डंप / पुनर्स्थापित करने के लिए मोंगोएक्सपोर्ट / मोंगोइमपोर्ट का उपयोग करें:
निर्यात JSON फ़ाइल :
mongoexport --db <database-name> --collection <collection-name> --out output.json
JSON फ़ाइल आयात करें :
mongoimport --db <database-name> --collection <collection-name> --file input.json
चेतावनी
mongoimport
औरmongoexport
सभी समृद्ध BSON डेटा प्रकारों को सुरक्षित रूप से संरक्षित न करें क्योंकि JSON केवल BSON द्वारा समर्थित प्रकारों के सबसेट का प्रतिनिधित्व कर सकता है। परिणामस्वरूप, इन उपकरणों के साथ निर्यात या आयात किया गया डेटा निष्ठा के कुछ उपाय खो सकता है।
इसके अलावा, http://bsonspec.org/
BSON को सांकेतिक शब्दों में बदलना और डिकोड करने के लिए तेज़ बनाया गया है। उदाहरण के लिए, पूर्णांक 32 (या 64) बिट पूर्णांक के रूप में संग्रहीत किए जाते हैं, इसलिए उन्हें पाठ से पार्स करने की आवश्यकता नहीं है। यह छोटे पूर्णांकों के लिए JSON से अधिक स्थान का उपयोग करता है, लेकिन पार्स करने के लिए बहुत तेज़ है।
कॉम्पैक्टनेस के अलावा, BSON, JSON में विशेष रूप से उपलब्ध अतिरिक्त डेटा प्रकारों को जोड़ता है, विशेष रूप से BinData और Date डेटा प्रकारों को।
mongoexport
/ mongoimport
दौर यात्रा से बच नहीं पाएगा ?
यहाँ संदर्भ के लिए मेरा आदेश है:
mongoexport --db AppDB --collection files --pretty --out output.json
विंडोज 7 (MongoDB 3.4) पर, एक जगह है जहाँ के लिए cmd जाना होता है mongod.exe
और mongo.exe
फ़ाइल बसता था =>
C:\MongoDB\Server\3.4\bin
वरना यह कह रही है काम नहीं करेगा यदि ऐसा नहीं होता recongnize mongoexport
आदेश।
मानगो दस्तावेज से:
Mongoexport यूटिलिटी एक संग्रह लेता है और JSON या CSV को निर्यात करता है। आप क्वेरी, या आउटपुट के लिए फ़ील्ड की सूची के लिए एक फ़िल्टर निर्दिष्ट कर सकते हैं
यहां पढ़ें: http://www.mongodb.org/display/DOCS/mongoexport
यदि आप सभी संग्रह डंप करना चाहते हैं, तो इस कमांड को चलाएं:
mongodump -d {DB_NAME} -o /tmp
यह निर्देशिका में सभी संग्रह डेटा json
और bson
एक्सटेंशन उत्पन्न करेगा/tmp/{DB_NAME}
mongodump
में डेटा आउटपुट BSON
। अन्य उत्तर सही mongoexport
उपकरण के रूप में संदर्भित हैं ।
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase admin
आप निर्दिष्ट कर सकतेhost
,port
,username
,password
इस और डिफ़ॉल्ट प्रमाणीकरण डेटाबेस है की तरहadmin
।