खोज…
टिप्पणियों
यदि आप रूबी उपयोगिता चलाने के विरोध में नहीं हैं, तो चंगेज एक क्लासिक है: http://genghisapp.com/
लेकिन स्केलेबल उत्पादन उपयोग के लिए, अपने आप को MongoHQ पर ले जाएं।
http://www.mongohq.com/
इसके अलावा, मानगो मॉनिटरिंग सर्विस, 10Gen से, Mongo के निर्माता:
https://mms.mongodb.com/
MongoClient को Meteor, Fulltely Free, Open Source और Cross-Platform में लिखा गया है।
RoboMongo मूल क्रॉस-प्लेटफॉर्म MongoDB प्रबंधन उपकरण
एक इनहेरिटेड डेटाबेस का विश्लेषण
डेटाबेस के ब्लैक-बॉक्स विश्लेषण के लिए दो महान उपयोगिताओं हैं। पहला किस्म है .js, जो आपको एक उच्च-स्तरीय अवलोकन देगा। दूसरा है स्कीमा.जेएस, जो आपको व्यक्तिगत क्षेत्रों पर अधिक विवरण के लिए संग्रह में खुदाई करने देगा। जब एक उत्पादन मैंगो डेटाबेस प्राप्त होता है, तो ये दो उपयोगिताओं से आपको यह पता लगाने में मदद मिल सकती है कि क्या चल रहा है और संग्रह और दस्तावेज़ कैसे संरचित हैं।
mongo test --eval "var collection = 'users'" variety.js
mongo --shell schema.js
* .Meteorapp.com पर एक डेटाबेस से कनेक्ट करें
--Url ध्वज का उपयोग करने के लिए मुश्किल हो सकता है। प्रमाणित करने के लिए 60 सेकंड की विंडो है, और फिर उपयोगकर्ता नाम / पासवर्ड बेतरतीब ढंग से रीसेट करता है। जब आप कमांड चलाते हैं तो नए कनेक्शन को कॉन्फ़िगर करने के लिए रोबोमॉन्गो खुला और तैयार होना सुनिश्चित करें।
# get the MONGO_URL string for your app
meteor mongo --url $METEOR_APP_URL
* .Meteor.com से एक डेटाबेस डाउनलोड करें
पहले जैसी ही बात है, लेकिन आपको जानकारी को मोंगोडंप कमांड में कॉपी करना होगा। आपको निम्न आदेशों को तेजी से फिर से चलाना होगा, और इसके लिए हाथ / आँख समन्वय की आवश्यकता है। चेतावनी दी! यह एक हास्यास्पद हैक है! लेकिनी मज़ा! एक वीडियो गेम के रूप में सोचो! : डी
# get the MONGO_URL string for your app
meteor mongo --url $METEOR_APP_URL
# then quickly copy all the info into the following command
mongodump -u username -p password --port 27017 --db meteor_app_url_com --host production-db-b1.meteor.io
स्थानीय उल्का विकास उदाहरण से डेटा निर्यात करें?
यह कमांड एक / डंप निर्देशिका बनाएगा, और प्रत्येक संग्रह को एक अलग BSON ब्लॉब फ़ाइल में संग्रहीत करेगा। यह बैकअप या सिस्टम के बीच डेटाबेस के हस्तांतरण का सबसे अच्छा तरीका है।
mongodump --db meteor
डेटा को एक डंपफ़ाइल से पुनर्स्थापित करें
meteordump
कमांड का एनालॉग meteorrestore
। आप आयात करने के लिए विशिष्ट संग्रह का चयन करके आंशिक आयात कर सकते हैं। ड्रॉप कमांड चलाने के बाद विशेष रूप से उपयोगी।
# make sure your app is running
meteor
# then import your data
mongorestore --port 3001 --db meteor /path/to/dump
# a partial import after running > db.comments.drop()
mongorestore --port 3001 --db meteor /path/to/dump -c comments.bson
JSON पर एक संग्रह निर्यात करें
उल्का चलाएँ, एक और टर्मिनल विंडो खोलें, और निम्न कमांड चलाएँ।
mongoexport --db meteor --collection foo --port 3001 --out foo.json
उल्का में एक JSON फ़ाइल आयात करें
डिफ़ॉल्ट उल्का उदाहरण में आयात करना काफी आसान है। ध्यान दें कि आप एक --jsonArray विकल्प जोड़ सकते हैं यदि आपकी json फ़ाइल किसी अन्य सिस्टम से एक सरणी के रूप में निर्यात की जाती है।
mongoimport --db meteor --port 3001 --collection foo --file foo.json
स्टेजिंग और स्थानीय डेटाबेस के बीच डेटा की प्रतिलिपि बनाना
Mongo डेटाबेस-टू-डेटाबेस कॉपी करने का समर्थन करता है, जो उपयोगी है यदि आपके पास एक स्टेजिंग डेटाबेस पर बड़े डेटाबेस हैं जिन्हें आप स्थानीय विकास उदाहरण में कॉपी करना चाहते हैं।
// run mongod so we can create a staging database // note that this is a separate instance from the meteor mongo and minimongo instances mongod // import the json data into a staging database // jsonArray is a useful command, particularly if you're migrating from SQL mongoimport -d staging -c assets < data.json --jsonArray // navigate to your application cd myappdir // run meteor and initiate it's database meteor // connect to the meteor mongodb meteor mongo --port 3002 // copy collections from staging database into meteor database db.copyDatabase('staging', 'meteor', 'localhost');
उबंटू बॉक्स पर एक मोंगो डेटाबेस को संकुचित करें
Preallocation। मोंगो खाली कंटेनरों में डिस्क-स्पेस को अलग करता है, इसलिए जब डिस्क पर कुछ लिखने का समय आता है, तो उसे पहले रास्ते से हटने की जरूरत नहीं है। यह एक दोहरी एल्गोरिथ्म द्वारा ऐसा करता है, हमेशा डिस्क स्थान की मात्रा को दोगुना करता है जब तक कि यह 2GB तक नहीं पहुंचता; और उसके बाद प्रोनोकॉक की प्रत्येक फ़ाइल 2GB है। जब एक बार डेटा का प्रचार हो जाता है, तो यह तब तक नहीं हटाया जाता जब तक कि आप इसे विशेष रूप से नहीं बताते। तो अवलोकन योग्य MongoDB अंतरिक्ष उपयोग स्वचालित रूप से ऊपर जाता है, लेकिन नीचे नहीं।
मानगो उपदेश पर कुछ शोध ...
को कम करने-MongoDB-डेटाबेस-फ़ाइल-आकार
मोंगो-prealloc-फ़ाइलें लेने-अप-कक्ष
// compact the database from within the Mongo shell
db.runCommand( { compact : 'mycollectionname' } )
// repair the database from the command line
mongod --config /usr/local/etc/mongod.conf --repair --repairpath /Volumes/X/mongo_repair --nojournal
// or dump and re-import from the command line
mongodump -d databasename
echo 'db.dropDatabase()' | mongo databasename
mongorestore dump/databasename
एक प्रतिकृति सेट रीसेट करें
स्थानीय डेटाबेस फ़ाइलों को हटाएँ। बस मैंगो शेल से बाहर निकलें, / dbpath पर नेविगेट करें (जहाँ भी आप इसे सेट करते हैं), और उस डायरेक्टरी के भीतर की फाइलों को हटा दें।
दूरस्थ रूप से * .meteor.com पर एक मोंगो इंस्टेंस से कनेक्ट करें
क्या आप --url
ध्वज के बारे में जानते हैं? बेहद सुविधाजनक।
meteor mongo --url YOURSITE.meteor.com
स्थानीय उल्का इंस्टेंस पर मैंगो लॉग फ़ाइलों तक पहुँचना
वे आसानी से सुलभ नहीं हैं। यदि आप 'उल्का बंडल' कमांड चलाते हैं, तो आप एक tar.gz फ़ाइल जनरेट कर सकते हैं, और फिर अपना ऐप मैन्युअल रूप से चला सकते हैं। ऐसा करते हुए, आपको mongo लॉग का उपयोग करने में सक्षम होना चाहिए ... शायद .meteor / db डायरेक्टरी में। यदि आपको वास्तव में mongodb लॉग फ़ाइलों का उपयोग करने की आवश्यकता है, तो एक नियमित mongodb उदाहरण सेट करें, और फिर MONGO_URL वातावरण चर सेट करके Meteor को बाहरी mongo उदाहरण से कनेक्ट करें:
MONGO_URL='mongodb://user:password@host:port/databasename'
एक बार ऐसा करने के बाद, आपको सामान्य स्थानों में लॉग तक पहुंचने में सक्षम होना चाहिए ...
/var/log/mongodb/server1.log
उबंटू बॉक्स पर लॉग फाइल घुमाएँ
उन लॉग फ़ाइलों को घुमाएगी, या वे अंततः आपके सभी डिस्क स्थान को खाएंगे। कुछ शोध से शुरू करें ...
MongoDB-लॉग-फ़ाइल-विकास
घुमाने-लॉग-फ़ाइलें
लॉग फाइल को निम्न कमांड के साथ देखा जा सकता है ...
ls /var/log/mongodb/
लेकिन लॉग-फाइल रोटेशन स्थापित करने के लिए, आपको निम्नलिखित कार्य करने होंगे ...
// put the following in the /etc/logrotate.d/mongod file
/var/log/mongo/*.log {
daily
rotate 30
compress
dateext
missingok
notifempty
sharedscripts
copytruncate
postrotate
/bin/kill -SIGUSR1 `cat /var/lib/mongo/mongod.lock 2> /dev/null` 2> /dev/null || true
endscript
}
// to manually initiate a log file rotation, run from the Mongo shell
use admin
db.runCommand( { logRotate : 1 } )