खोज…


टिप्पणियों

यदि आप रूबी उपयोगिता चलाने के विरोध में नहीं हैं, तो चंगेज एक क्लासिक है: 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, जो आपको एक उच्च-स्तरीय अवलोकन देगा। दूसरा है स्कीमा.जेएस, जो आपको व्यक्तिगत क्षेत्रों पर अधिक विवरण के लिए संग्रह में खुदाई करने देगा। जब एक उत्पादन मैंगो डेटाबेस प्राप्त होता है, तो ये दो उपयोगिताओं से आपको यह पता लगाने में मदद मिल सकती है कि क्या चल रहा है और संग्रह और दस्तावेज़ कैसे संरचित हैं।

variety.js

mongo test --eval "var collection = 'users'" variety.js

schema.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 } )


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow