Командная строка 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
Недавні записи
- Комп'ютерний зір (Машинний зір)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
- AS5600. Варіант встановлення на BLDC мотор
- DC-DC для IGBT драйверів ізольований 2 W +15 -8 вольт
- U-FOC - Векторне керування безколекторними моторами
- FOC - своя реалізація векторного керування. Підбиваю підсумки 2022 року
- Конструктор регуляторів моторів. Підбиваю підсумки 2022 року.
Tags
ngnix flash flask i2c servo dma gpio avr solar bme280 docker eeprom sms java-script barometer rtc dht11 ssd1306 bldc motor raspberry-pi ssd1331 mpu-9250 dc-dc rfid foc st-link usb remap pwm capture soldering nodemcu lcd eb-500 esp8266 mpu-6050 nvic usart books mpx4115a timer adc bluetooth tim programmator meteo sensors led python websocket hih-4000 html pmsm mongodb bmp280 gps encoder displays smd stm32 css git examples rs-232 ethernet brushless 3d-printer watchdog max1674 exti atmega options battery uart wifi bkp piezo web
Архіви