कुछ बातें :
- सामान्य तौर पर cloneCollection विभिन्न मोंगो उदाहरणों के लिए प्रयोग किया जाता है लेकिन एक ही उदाहरण पर प्रतिलिपि बनाने के लिए नहीं।
- इसके अलावा यदि आप
v4.2
. का उपयोग कर रहे हैं आपकोcopyDB
का उपयोग बंद कर देना चाहिए &cloneCollection
क्योंकि उन्हें हटा दिया गया है संगतता-के साथ-v4.2 &mongodump का उपयोग करना प्रारंभ करें और mongorestore या mongoexport &mongoimport । -
मैं मोंगोडंप . का उपयोग करने का सुझाव दूंगा &मोंगोरेस्टोर :
- कारण मोंगोडंप MongoDB के डेटा प्रकारों को संरक्षित करेगा अर्थात;
bson
प्रकार। - मोंगोडंप एक बाइनरी बनाता है जहां mongoexport . के रूप में कन्वर्ट होगा
bson
करने के लिएjson
और फिर से mongoimportjson
को कन्वर्ट कर देगा करने के लिएbson
लिखते समय, यही कारण है कि वे धीमे हैं। जब आप अपने संग्रह डेटा का नेत्रहीन विश्लेषण करना चाहते हैं याjson
का उपयोग करना चाहते हैं तो आप mongoexport और mongoimport का उपयोग कर सकते हैं किसी अन्य उद्देश्य के लिए डेटा।
- कारण मोंगोडंप MongoDB के डेटा प्रकारों को संरक्षित करेगा अर्थात;
-
आप स्क्रिप्ट के नीचे शेल में चला सकते हैं
declare - a collections = ("collectionName1" "collectionName2") for i in "${collections[@]}" do echo "$i" mongodump --host "All-shards" --username=uname --password password --ssl --authenticationDatabase admin --db dbname --collection "$i" mongorestore --host=host-shard-name --port=27017 --username=uname --password=psswrd --ssl --authenticationDatabase=admin --db=dbname --collection= "$i" ./dump/dbName/"$i".bson; done
मोंगोडंप का उपयोग करने के लिए , आपको मोंगोडम्प को चल रहे मोंगोड या मोंगोस इंस्टेंस के खिलाफ चलाना होगा। तो इन आदेशों को चलाए जा रहे हैं उम्मीद है कि मोंगो ठीक से स्थापित है और पथ सेटअप अच्छा है, यदि नहीं तो आप मोंगो फ़ोल्डर में नेविगेट कर सकते हैं और ./mongodump
की तरह चला सकते हैं &./mongorestore
. यदि आप एकाधिक संग्रहों का बैकअप लेना चाहते हैं तो उपरोक्त स्क्रिप्ट उपयोगी होगी, आपको स्क्रिप्ट में कुछ चीजें निर्दिष्ट करने की आवश्यकता है जैसे:
-
mongodump--host "All-shards"
-> यहां आपको सभी शार्क निर्दिष्ट करने की आवश्यकता है यदि आपका MongoDB एक प्रतिकृति सेट है, यदि नहीं तो आप निर्दिष्ट कर सकते हैंlocalhost:27017
। -
mongorestore --host=host-shard-name
-> आपको प्रतिकृति सेट का एक भाग निर्दिष्ट करना होगा, अन्यथा आपकाlocalhost
, यहाँ कुछ चीज़ें वैकल्पिक हो सकती हैं--ssl
,--username
,--password
. - तो मोंगोडम्प डंप . नाम का एक फोल्डर बनाएगा पहली बार जिसमें dbNames के साथ सब-फोल्डर होंगे और प्रत्येक सब-फोल्डर में
bson
होगा। उनके संग्रह नामों से संबंधित फ़ाइलें डंप की गईं, इसलिए आपकोdbName
. का संदर्भ लेना होगा रिस्टोर कमांड और कलेक्शन में नाम वेरिएबलi
. से लिया जाएगा ->./dump/dbName/"$i".bson
नोट : MongoDB v3.2
इतना पुराना और क्लाउड आधारित MongoDB सेवा में है Mongo-atlas
यह पहले ही अपने जीवनचक्र के अंत तक पहुँच चुका है, इसलिए कृपया यथाशीघ्र अपग्रेड करें। यदि आप एक निःशुल्क मोंगो इंस्टेंस की तलाश में हैं या मोंगोडीबी से शुरू कर रहे हैं - तो आप एटलस को आजमा सकते हैं।