Командная строка MongoDB
"Склерозник" по основным командам MongoDB.
MongoDB — документоориентированная система управления базами данных с открытым исходным кодом, не требующая описания схемы таблиц. Классифицирована как NoSQL, использует JSON-подобные документы и схему базы данных.
Запуск клиента:
sudo mongo
Список баз:
show dbs
Использовать базу (demo — имя базы):
use demo
Список collections:
show collections
Добавить пользователя в админы со всеми правами:
use admin
db.createUser({user:"root", pwd:"root", roles:[ "root"]})
Или с указанием ролей:
db.createUser({user:"admin", pwd:"password", roles:[ "userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase"]})
db.createUser({user:"admin", pwd:"password", roles:[ "dbOwner" ]})
Аутентифицироваться с командной строки:
sudo mongo -u root -p root --authenticationDatabase admin
sudo mongo -u admin -p admin --authenticationDatabase test
Системная информация о базе:
db.stats()
Системная информация о collections:
db.test.stats()
Список индексов в collection:
db.test.getIndexes()
Вставка документа в collection users:
db.users.insert({"name":"username"})
Выборка по условю (По одному полю):
db.test.find({"name":"Andre"})
Выборка по условию (И):
db.test.find({"name":"Andre","id":"2"})
Выборка по условию (Больше):
db.numbers.find({num:{"$gt": 60000}})
Выборка по условию (В диапазоне):
db.numbers.find({num:{"$gt": 60000, "$lt": 60010}})
Обновление записи:
db.test.update({"_id":ObjectId("5aae3be1b371d7112a438547")}, {$set: {name:"Patya", id:3}})
db.users.update( { "favorites.movies": "Casblanca"},
{$addtoSet: {"favorites.movies": "The Maltese Falcon"} },
false,
true )
Четвертый параметр true - говорит, что это множественное обновление. По умолчанию MongoDB обновит только первую запись подходящую по условию.
Обновление документа (SAVE) если нет поля _id, тогда будет создан новый документ:
db.test.save({"_id":ObjectId("5aae3be1b371d7112a438547")}, {$set: {name:"Patya", id:3}})
Удаление документов:
db.test.remove({"_id":ObjectId("5aae3be1b371d7112a438547")})
Подсчет кол-ва документов:
db.numbers.count()
Удалить коллекцию со всеми данными и индексами:
db.test.drop()
Запрос с выводом информации о выполнении для дальнейшего анализа:
db.numbers.find({num:{"$gt": 60000}}).explain("executionStats")
Создать индекс по полю num по возрастанию:
db.numbers.ensureIndex({num: 1})
Експорт / Импорт
Експорт (mongoexport) в JSON, CSV, TSV:
mongoexport --host=127.0.0.1 --port=27017 --db=test --collection=test --type=json --out=test_test.json --jsonArray --pretty
Импорт (mongoimport) из JSON, CSV, TSV
mongoimport --host=127.0.0.1 --port=27017 --db=test --collection=test --file=test_test.json --type=json --jsonArray
Информация и статистика
mongostat
Удачи.
Дивись також:
- Справочник команд по Docker. Как поднять Swarm
- MongoDB Replica Set в Docker
- Справочник команд MongoDB
- Как настроить NGNIX Loader balancer + SSL в Docker
- Технология Push notifications. Как сделать на сайте
- Пример Websocket сервера и Websocket клиента. Пример простого чата на websocket
- Как использовать Memcached в Python
- Как использовать Radis в Python
Tags
bme280 bmp280 gps mpu-6050 options stm32 ssd1331 ssd1306 eb-500 3d-printer soldering tim mpu-9250 dma watchdog piezo exti web raspberry-pi docker ngnix solar bluetooth foc html css brushless flask dc-dc capture gpio avr rs-232 mpx4115a atmega mongodb st-link barometer pwm nvic git java-script programmator dht11 hih-4000 pmsm encoder max1674 smd sensors rtc adc lcd motor timer meteo examples i2c usb flash sms rfid python esp8266 servo books bldc remap eeprom bkp battery ethernet uart usart displays led websocket nodemcu wifi
Архіви