Установка и пример
Установка
Установка программы
sudo apt-get update
sudo apt install mongodb
Смотрим версию программы
mongo --version
Используется версия: MongoDB shell version: 2.6.10
Запуск
mongo
Использование
Просмотр списка баз данных
show dbs;
Создание базы данных или подключение к существующей
use my_db_1;
Просмотр всех таблиц базы данных
show tables;
Создание таблицы и вставка записей
Можно вставлять и одинаковые записи (дубликаты разрешены)
db.my_table_students.insert({"student_name":"Piter", "age":18});
db.my_table_students.insert({"student_name":"Maxim", "age":27});
db.my_table_students.insert({"student_name":"Nina", "age":14});
db.my_table_students.insert({"student_name":"Piter", "age":18});
Вывод всех записей таблицы
db.my_table_students.find();
Вывод записей в отсортированном по возрасту виде (по возрастанию возраста)
db.my_table_students.find().sort({"age":1});
Вывод записей в отсортированном по возрасту виде (по убыванию возраста)
db.my_table_students.find().sort({"age":-1});
Вывод на экран только определённого количества записей
db.my_table_students.find().sort({"age":1}).limit(2);
Получить количество записей в таблице
db.my_table_students.find().count();
Операторы сравнения
$eq (равно)
$ne (не равно)
$gt (больше чем)
$lt (меньше чем)
$gte (больше или равно)
$lte (меньше или равно)
Вывести всех студентов, у которых возраст равен 18
db.my_table_students.find({ "age":{$eq:18} });
Вывести всех студентов, у которых возраст НЕ равен 18
db.my_table_students.find({ "age":{$ne:18} });
Вывести всех студентов, у которых возраст строго больше 18
db.my_table_students.find({ "age":{$gt:18} });
Реализация логического "И" в запросах на выборку
Выбрать всех студентов, у которых возраст больше 15 лет И имя студента не Питер
db.my_table_students.find({$and: [{"age":{$gt:15}} , {"student_name":{$ne:"Piter"}}]});
Реализация логического "ИЛИ" в запросах на выборку
Выбрать всех студентов, у которых возраст равен 14 ИЛИ 27 годам
db.my_table_students.find({$or: [{"age":{$eq:14}} , {"age":{$eq:27}}]});
Поменять во всех записях имя "Piter" на "Anatoluy"
Нужно указывать параметры:
upsert (запрет добавления записи если ничего не найдено)
multi (для обновления всех записей, а не только первой попавшейся)
db.my_table_students.update({"student_name":"Piter"}, {$set: {"student_name":"Anatoluy"}}, {multi: true, upsert: false});
Удалить все записи из таблицы, у которых имя "Anatoluy"
db.my_table_students.remove({"student_name":"Anatoluy"});
Last updated
Was this helpful?