Конвертировать реляционные базы данных и SQL в MongoDB

{title}

Каждая база данных в MongoDB состоит из коллекций, которые эквивалентны СУБД или реляционной базе данных, состоящей из таблиц SQL. Каждая база данных хранит данные коллекции в форме документов, которые эквивалентны таблицам, которые хранят данные в строках.
При хранении данных строк в наборе столбцов документ имеет структуру JSON (в MongoDB он называется BSON). Наконец, способ, которым мы имеем строки в строке SQL, которая имеет поля в MongoDB.

{title}


Эквиваленты между запросами sql и запросами Mondodb
предположим, что в предыдущей базе данных MySQL мы увидим, как отображать и преобразовывать запросы
Создать таблицу или коллекцию
В MongoDB нет необходимости явно создавать структуру коллекции, как мы делаем для таблиц с запросом CREATE TABLE. Структура документа создается автоматически при первой вставке в коллекцию. Однако вы можете создать пустую коллекцию с помощью команды createCollection.
Mysql
CREATE TABLE `clients` (` id` int (11) NOT NULL AUTO_INCREMENT, `name` varchar (255) NOT NULL, ` city` varchar (20) NOT NULL, ПЕРВИЧНЫЙ КЛЮЧ (`id`))
MongoDB
db.createCollection ("клиенты")
Добавить записи данных
MYSQL
INSERT INTO `customer` (` id`, `name`, ` city`) VALUES (NULL, 'Fernan', 'Barcelona');
MongoDB
db.clientes.insert ({имя: "Фернан", город: Барселона "})
Показать все записи
Mysql
ВЫБРАТЬ * ОТ `клиентов`
MongoDB
db.clientes.find ()
Поиск покупателя по имени
Mysql
SELECT * FROM `клиентов` WHERE` name` = 'Fernan'
MongoDB
db.clientes.find ({имя: "Фернан"})
Теперь мы добавим больше критериев для поиска клиента по имени и городу. Поля критериев, указанные с помощью запятых, представляют логическое условие AND. Таким образом, этот оператор будет искать документы, которые имеют оба критерия.
Mysql
ВЫБЕРИТЕ * `ОТ` клиентов` ГДЕ` имя` = 'Фернан' И `город` = 'Барселона'
MongoDB
db.clientes.find ({имя: "Фернан", город: "Барселона"})
Показать все записи таблицы клиентов, отсортированные по возрастанию по имени
Mysql
ВЫБЕРИТЕ * ОТ `клиентов` ***** по имени ASC
MongoDB
db.clientes.find (). sort ({name: 1})
Чтобы ограничить количество документов, подлежащих возврату, используется метод ограничения количества документов.
Mysql
SELECT * FROM `LIMIT` клиентов 10
MongoDB
db.clientes.find (). limit (10)
Чтобы пропустить несколько записей, используется функция пропуска в MongoDB. Например, следующее предложение ограничено 10 записями и пропускает первые пять.
Mysql
SELECT * FROM `сообщений` LIMIT 10 OFFSET 5
MongoDB
db.clientes.find (). limit (10) .skip (5)
Критерии выбора документов указаны для метода обновления. Первый параметр должен идентифицировать запись, второй параметр указывает фактическую операцию обновления, которая будет выполнена. Например, следующий запрос выбирает все документы с именем Carlos и устанавливает его город как Мадрид.
Одно из отличий заключается в том, что по умолчанию запрос на обновление MongoDB обновляет только одну запись и первый соответствующий документ. Чтобы обновить все соответствующие документы, мы должны предложить третий параметр, который указывает множественное число как true, которое указывает, что мы хотим обновить несколько документов.
Mysql
ОБНОВЛЕНИЕ клиентов УСТАНОВИТЬ city = "Madrid" ГДЕ name = "Carlos"
MongoDB
Обновить все совпадения
db.clientes.update ({name: "Carlos"}, {$ set: {city: "Madrid"}}, {multi: true})
Обновите первую соответствующую запись
db.clientes.update ({name: "Carlos"}, {$ set: {city: "Madrid"}})

  • 0