MongoDB
  • Введение
  • Установка и пример
  • Сортировка чисел
  • Поля - массивы
  • Вложенные поля
  • Работа с индексами
  • Информация о базе
  • Уникальные индексы
  • Пагинация
  • Регулярные выражения
  • Использование JavaScript
  • Группировка
  • Виды коллекций
  • Загрузка из файла
  • Курсоры
  • Метод save
  • Создание ссылок
Powered by GitBook
On this page
  • Установка
  • Использование

Was this helpful?

Установка и пример

Установка

Установка программы

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"});
PreviousВведениеNextСортировка чисел

Last updated 5 years ago

Was this helpful?