Конвертирайте релационни и SQL бази данни в MongoDB

Съдържание
Всяка база данни в MongoDB се състои от колекции, които са еквивалентни на RDBMS или релационна база данни, състояща се от SQL таблици. Всяка база данни съхранява събраните данни под формата на документи, което е еквивалентно на таблици, които съхраняват данни в редове.
Въпреки че съхранява данните за реда в набора от колони, документът има JSON структура (известна като BSON в MongoDB). И накрая, начинът, по който имаме редове в SQL ред, който има полета в MongoDB.

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