Поиск…


замечания

Если вы не против использования утилиты Ruby, Genghis является классикой: http://genghisapp.com/

Но для масштабируемого использования продукции, займитесь MongoHQ.
http://www.mongohq.com/

Кроме того, Mongo Monitoring Service, от 10Gen, создатели Монго:
https://mms.mongodb.com/

MongoClient написан в Meteor, совершенно бесплатно, с открытым исходным кодом и кросс-платформой.

RoboMongo Родной кросс-платформенный инструмент управления MongoDB

Анализ наследуемой базы данных

Существует две замечательные утилиты для анализа баз данных с использованием «черного ящика». Прежде всего, это multi.js, который даст вам обзор на высоком уровне. Вторая - schema.js, которая позволит вам копаться в коллекциях для более подробной информации о отдельных полях. При наследовании базы данных Mongo производства эти две утилиты могут помочь вам понять, что происходит и как структурируются коллекции и документы.

variety.js

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

schema.js

mongo --shell schema.js 

Подключиться к базе данных на * .meteorapp.com

Флаг -url может оказаться сложным для использования. Для аутентификации есть 60-секундное окно, а затем имя пользователя / пароль случайно сбрасывается. Поэтому убедитесь, что robomongo открыт и готов настроить новое соединение при запуске команды.

# get the MONGO_URL string for your app  
meteor mongo --url $METEOR_APP_URL

Загрузите базу данных из * .meteor.com

То же, что и раньше, но вам нужно скопировать информацию в команду mongodump. Вам необходимо быстро выполнить следующие команды, и для этого требуется координация рук / глаз. Имейте в виду! Это смехотворно хаки! Но весело! Подумайте об этом как о видеоигре! : D

# 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

Экспортировать данные из местного экземпляра разработки Meteor?

Эта команда создаст каталог / dump и сохранит каждую коллекцию в отдельном файле blob BSON. Это лучший способ резервного копирования или передачи баз данных между системами.

mongodump --db meteor

Восстановить данные из Dumpfile

Аналогом команды meteordump является meteorrestore . Вы можете сделать частичный импорт, выбрав конкретную коллекцию для импорта. Особенно полезно после запуска команды drop.

# 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 в Meteor

Импорт в экземпляр Meteor по умолчанию довольно прост. Обратите внимание, что вы можете добавить параметр -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');

Компактная база данных Mongo на ящике Ubuntu

Предварительное выделение. Монго выделяет дисковое пространство в пустых контейнерах, поэтому, когда придет время написать что-то на диск, ему не нужно сначала перетасовывать биты. Он делает это с помощью алгоритма удвоения, всегда удваивая объем дискового пространства, предварительно распределенного до достижения 2 ГБ; а затем каждый файл prealloc оттуда составляет 2 ГБ. Как только данные будут предварительно распределены, он не будет освобожден, если вы специально не сообщите об этом. Таким образом, наблюдаемое использование пространства MongoDB имеет тенденцию к увеличению автоматически, но не вниз.

Некоторые исследования по предопределению Монго ...
восстановительно-MongoDB-базы данных размер файла
Mongo-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

Сбросить набор реплик

Удалите локальные файлы базы данных. Просто выйдите из оболочки Mongo, перейдите к / dbpath (везде, где вы его настроили), и удалите файлы в этом каталоге.

Подключить удаленно к Mongo Instance на * .meteor.com

Вы знали о флагом --url ? Очень кстати.

meteor mongo --url YOURSITE.meteor.com

Доступ к файлам журнала Mongo на локальном метеорном экземпляре

Они не легко доступны. Если вы запустите команду «meteor bundle», вы можете создать файл tar.gz, а затем запустить свое приложение вручную. При этом вы должны иметь доступ к журналам mongo ... возможно, в каталоге .meteor / db. Если вам действительно нужно получить доступ к файлам журнала mongodb, настройте обычный экземпляр mongodb, а затем подключите Meteor к внешнему экземпляру mongo, установив переменную среды MONGO_URL:

MONGO_URL='mongodb://user:password@host:port/databasename'

Как только это будет сделано, вы сможете иметь доступ к журналам в обычных местах ...

/var/log/mongodb/server1.log

Поворот файлов журнала в ящике Ubuntu

Поверните эти файлы журналов, или они в конечном итоге съедят все ваше дисковое пространство. Начните с некоторых исследований ...
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