Python

Как да създам база данни в MongoDB с помощта на Python

Как да създам база данни в MongoDB с помощта на Python
Няма съмнение, че Python е мощен и популярен език за програмиране, способен да обработва всеки проект, който хвърлим. Той е много гъвкав и може да се приспособи към различни среди за разработка като тестване на проникване до уеб разработка и машинно обучение.

Когато е свързан с големи приложения като тези, които изискват бази данни, Python добавя повече функционалност и може да бъде трудно да се работи, особено за начинаещи.

Python знае, че тази добавка ни предоставя по-добри начини за добавяне на бази данни към нашите проекти, без да компрометира работния ни процес, използвайки проста и интуитивна база данни NoSQL. Използвайки Python и популярна база данни NoSQL, MongoDB, разработката става по-удобна и като цяло забавна.

Тази статия ще разгледа различни концепции на базата данни MongoDB, за да ви даде ясно разбиране за това, което включва. След това ще разгледаме как да инсталираме MongoDB на Linux и ще ви покажем как да използвате Python за взаимодействие с MongoDB.

Нека започнем:

Основно въведение в MongoDB

MongoDB е база данни с отворен код, базирана на документи, която осигурява висока скалируемост и гъвкавост. Подобно на повечето бази данни NoSQL, MongoDB използва JSON за съхранение на данните, което го прави една от най-гъвкавите и лесни бази данни за работа, тъй като не изисква схема.

Благодарение на своята гъвкавост и лекота на обучение, разработчиците често използват MongoDB за големи проекти, изискващи бърза скорост на четене и запис на данни. Предлага се предварително опакована с драйвери за популярни програмни езици, като по този начин елиминира необходимостта от изучаване на нови програмни езици, преди да го използвате.

ЗАБЕЛЕЖКА: Ако не сте запознати с концепцията за SQL и NoSQL бази данни, разгледайте ресурса, предоставен по-долу:

https: // www.mongodb.com / nosql-обяснено / nosql-vs-sql

Да се ​​научиш как да работиш с MongoDB е основно умение, главно защото живеем в свят, управляван от данни, където като програмист ще работиш с данни 90% от времето - ако не и повече.

Добре е да се отбележи, че в MongoDB има нещо повече от това, което ще разгледаме в днешното ръководство. Помислете за проверка на официалната документация и външни ресурси, за да научите повече.

Как да инсталирате MongoDB на Linux (Debian 10)

Нека да разгледаме бързо как да инсталираме MongoDB Community Edition на Debian 10.

ЗАБЕЛЕЖКА: Уверете се, че сте деинсталирали пакета MongoDB, поддържан от Debian, защото това не е официалният пакет MongoDB, а ако не го деинсталирате, може да противоречи на последната версия:

Първо се уверете, че системата ви е актуална, което можете да направите с помощта на командата:

sudo apt-get update && sudo apt-get upgrade -y

След това инсталирайте GnuPG и импортирайте публичния ключ на хранилището MongoDB, като използвате командата:

sudo apt-get install gnupg && wget -qO - https: // www.mongodb.org / static / pgp / server-4.4.asc | sudo apt-key add -

Добавете списък с файлове в източниците.списък.d директория с помощта на командата:

echo "deb http: // repo.mongodb.org / apt / debian buster / mongodb-org / 4.4 основни "| sudo tee / etc / apt / sources.списък.г / mongodb-org-4.4.списък

Актуализирайте локалните си хранилища и инсталирайте пакета mongodb-org.

sudo apt-get update && sudo apt-get install mongodb-org

След като успешно инсталирате MongoDB, стартирайте услугата, използвайки системата, както следва:

sudo systemctl старт mongod

Можете също да стартирате монго черупка, като използвате командата mongo

Как да използваме Python за работа с MongoDB

Нека сега обсъдим как да използваме Python за работа с MongoDB.

На този етап предполагам, че Python вече е настроен и инсталиран на вашата система.

Тъй като това е кратко ръководство за начинаещи, а не изчерпателно ръководство за MongoDB, ние ще обсъдим само основите на използването на PyMongo за взаимодействие с базата данни.

PyMongo

Ще разгледаме стандартния метод при взаимодействие с MongoDB, за да използваме официалния драйвер на Python, PyMongo. PyMongo е много ефективен начин за работа с Python и MongoDB и е един от най-добрите начини да започнете.

ЗАБЕЛЕЖКА: Въпреки че това ръководство за начало съдържа много подробности, трябва да помислите за разглеждане на официалната документация, за да научите повече.

Ето някои ресурси за разглеждане:

https: // pymongo.readthedocs.io / en / stable / index.html
https: // pypi.org / project / pymongo /
https: // docs.mongodb.com / drivers / pymongo

Как да инсталирате PyMongo

Както обикновено, първото нещо, което трябва да направим, е да инсталираме PyMongo Driver в нашата среда на Python; можете да използвате conda или pip.

За да инсталирате, използвайте командата:

pip инсталирайте pymongo

Изчакайте, докато необходимите транзакции завършат и имате PyMongo успешно инсталиран на вашата система. За да потвърдите, задействайте интерактивна обвивка на python и изпълнете командата:

>>> импортиране на pymongo

След като се стартира успешно без грешки, вие успешно сте инсталирали PyMongo и можем да преминем към следващия раздел.

Как да използваме PyMongo за свързване с MongoDB

За да се свържем с MongoDB с помощта на PyMongo, използваме обекта MongoClient и създаваме екземпляр за mongod, основният процес на демона за MongoDB.

>>> от pymongo import MongoClient
>>> клиент = MongoClient (“localhost”, 27017)

Горният кодов фрагмент импортира обекта MongoClient от PyMongo и след това създава клиентски екземпляр за mongod. Ако не е необходимо да указвате целевия хост и порт, можете да ги оставите празни, като по този начин установите връзка по подразбиране.

Можете също така да използвате URI формат MongoDB като:

>>> клиент = MongoClient ("mongodb: // localhost: 27017 /")

И двата метода ще направят едно и също нещо; зависи само от това, което предпочитате да използвате във вашия проект.

Как да създам база данни с помощта на PyMongo

Използването на PyMong за създаване на база данни в MongoDB е относително лесно. Всичко, което трябва да направите, е да запитате базата данни и ако тя не съществува, MongoDB ще я създаде автоматично.

Помислете за кода по-долу:

>>> от pymongo import MongoClient
>>> клиент = MongoClient ("localhost", 27017)
>>> база данни = клиент ["test_database"]

Можете също да използвате метода на атрибутите, вместо метода на речника, за достъп до база данни.

>>> база данни = клиент.test_database

За разлика от други бази данни, в MongoDB базата данни не се създава напълно, докато колекциите (данните) не бъдат запазени - мислете за колекции като таблици в SQL бази данни.

Как да вмъкнете документи в база данни

Както бе споменато в началото на този урок, MongoDB съхранява данни като JSON документи, съхранявани в колекция - мислете за документи като редове в SQL бази данни.

В PyMongo използваме речници на python за представяне на документ. Обмислете следния примерен код:

от pymongo внос MongoClient
клиент = MongoClient ("localhost", 27017)
база данни = клиент ["movie_db"]
movies = база данни.филми
филм_ =
"title": "Г-н. Робот ",
"В главните роли": "Рами Малек, Кристиан Слейтър, Карли Чайкин",
"created": "Сам Есмаил",
"Година": "2016"

id = филми.вмъкване_едно (филм_).insert_id
печат (id)

Този код трябва да отпечата идентификационния номер, както е показано:

5ff57066fee7e4e965f02267

Когато създаваме нов документ и го добавяме към колекцията, се създава специален ключ или _id. Стойността на идентификатора трябва да е уникална в колекцията от набори.

Можем да проверим дали базата данни, колекцията и документът съществуват, като използваме проста заявка.

>>> база данни.list_collection_names ()
['филми']

Програмистите не са нищо, ако не са ефикасни и мързеливи.

Поради този наклон по подразбиране, ние също можем да използваме метода insert_many (), за да добавим множество документи вместо един документ с метода insert_one ().

Помислете за кода по-долу:

от импортиране на pymongo MongoClient
клиент = MongoClient ("localhost", 27017)
база данни = клиент ["movie_db"]
movies = база данни.филми
филми_ = [

„Заглавие“: „Г-н. Робот ”
„В главните роли“: „Рами Малек, Кристиан Слейтър, Карли Чайкин,“
"created": "Сам Есмаил",
„Година“: „2016.”
,

„Заглавие“: „Теория за големия взрив“,
„В главните роли“: „Джим Парсънс, Кейли Куоко, Джони Галеки, Кунал Найяр, Саймън Хелбер, Майим Бялик, Мелиса Раух“
„Създаден“: „Чък Лоре, Бил Пради“,
„Година“: „2007.”
,

"title": "Star Trek: Original Series",
„В главните роли“: „Уилям Шатнър, Леонард Нимой, Нишел Никълъс“
"Създаден": "Джийн Родънбери",
„Година“: „1966.”

]
ids = филми.insert_many (филми_).insert_ids
печат (идентификатори)

Това трябва да ви даде идентификаторите на вмъкнатия документ, както е показано по-долу:

[ObjectId ('5ff5749fbbc71282a634303d'), ObjectId ('5ff5749fbbc71282a634303e'), ObjectId ('5ff5749fbbc71282a634303f')]

Как да изтеглите документи

Получаването на документи от колекция също е много лесно и с помощта на метода find_one () можем да постигнем това в един ред код. Помислете за примера по-долу, за да съберете филмите на Gene Roddenberry.

печат (филми.find_one ("Създаден": "Gene Roddenberry"))

Това трябва да извлече всички филми, създадени от Джийн Родънбъри в тази база данни.

'_id': ObjectId ('5ff57472e027b7cd22b1f2f4'), 'title': 'Star Trek: Original Series', 'Starring': 'William Shatner, Leonard Nimoy, Nichelle Nicholas,', 'Created': 'Gene Roddenbery', ' Година ':' 1966 '

Можете да разгледате GUI дисплей на базата данни и колекциите. Ето екранна снимка, заснета от MongoDB Compass за Windows.

Заключение

За да използвате езика за програмиране Python ефективно при работа с бази данни, ще ви е необходима гъвкава и ефективна база данни за вашия проект. MongoDB е правилният избор. Моля, не бъркайте това, че MongoDB е най-добрият избор на база данни досега. Той има недостатъци, но е и идеален избор за повечето случаи на употреба.

Това ръководство ви е дало всичко необходимо, за да започнете да експериментирате с бази данни, използвайки избрания от вас език.

На раздяла помислете за четене на документация и ръководства, за да получите по-задълбочено разбиране на тази конкретна тема.

Най-добрите емулатори на игрови конзоли за Linux
Тази статия ще изброи популярния софтуер за емулация на игрова конзола, наличен за Linux. Емулацията е слой за софтуерна съвместимост, който емулира х...
Най-добрите дистрибуции на Linux за игри през 2021 г
Операционната система Linux е изминала дълъг път от първоначалния си, прост, базиран на сървъра външен вид. Тази операционна система се подобри неимов...
Как да заснемете и поточно предадете игралната си сесия на Linux
В миналото играта на игри се смяташе само за хоби, но с течение на времето игралната индустрия отбеляза огромен ръст по отношение на технологиите и бр...