LITVINOV
VIP user
Адміністратор
- 27.12.23
- 152
- 72
- Автор теми
- Адміністратор
- Модератор
- #1
MongoDB – це потужна система управління базами даних, яка використовує документ-орієнтовану модель даних. У порівнянні з традиційними реляційними базами даних, такими як MySQL або PostgreSQL, MongoDB пропонує більш гнучкий підхід до зберігання та опрацювання даних.
Однією з ключових особливостей MongoDB є використання BSON (Binary JSON) для представлення та обміну даними. Документи у MongoDB схожі на JSON-об'єкти і можуть містити вкладені структури, масиви та інші складові.
Шардування дозволяє розподілити навантаження між різними серверами для покращення продуктивності та обробки великих обсягів даних.
Ці приклади створюють базовий огляд того, як працювати з MongoDB та використовувати його функціональні можливості у різних аспектах вашого проекту. Завдяки гнучкості та потужності MongoDB, ви можете легко адаптувати його до ваших потреб та вимог.
Однією з ключових особливостей MongoDB є використання BSON (Binary JSON) для представлення та обміну даними. Документи у MongoDB схожі на JSON-об'єкти і можуть містити вкладені структури, масиви та інші складові.
Основні поняття MongoDB
- Колекції (Collections): У MongoDB дані організовані у колекції, які можна уявити як еквіваленти таблиць у реляційних базах даних. Кожна колекція містить документи.
- Документи (Documents): Основною одиницею зберігання в MongoDB є документ. Документ – це BSON-об'єкт, що містить пари "ключ-значення".
- Поля (Fields): Кожен документ містить різні поля, які визначають дані. Поля можуть бути різного типу, такого як рядки, числа, масиви, дати тощо.
Приклади коду
Підключення до бази даних
Код:
from pymongo import MongoClient
# Встановлення з'єднання з сервером MongoDB
client = MongoClient('mongodb://localhost:27017/')
# Вибір бази даних
db = client['mydatabase']
Вставка документа
Код:
# Вибір колекції
collection = db['mycollection']
# Створення документа
post = {"title": "MongoDB і його можливості", "content": "Це приклад тексту."}
# Вставка документа в колекцію
post_id = collection.insert_one(post).inserted_id[/CODE
[HEADING=3]Запит до бази даних[/HEADING]
[CODE]
# Знайти всі документи, де заголовок містить слово "MongoDB"
result = collection.find({"title": {"$regex": "MongoDB"}})
# Вивести результат
for doc in result:
print(doc)
[/CODE
[HEADING=2]Запити та Фільтрація[/HEADING]
MongoDB дозволяє використовувати різноманітні запити для вибору даних. Наприклад, ви можете використовувати фільтри для отримання документів, що відповідають певним умовам.
[CODE]
# Знайти всі документи, де рік більше 2020
result = collection.find({"year": {"$gt": 2020}})
Оновлення та Видалення
Оновлення та видалення документів також є важливою частиною роботи з MongoDB.
Код:
# Оновити документ з певним заголовком
collection.update_one({"title": "Старий заголовок"}, {"$set": {"title": "Новий заголовок"}})
# Видалити документ з певним заголовком
collection.delete_one({"title": "Непотрібний документ"})
Індексація
Щоб поліпшити продуктивність запитів, можна використовувати індексацію. MongoDB дозволяє створювати індекси для певних полів, що полегшує пошук та зменшує час виконання запитів.
Код:
# Створення індекса для поля "title"
collection.create_index([("title", 1)])
Агрегації
MongoDB підтримує агрегаційні функції, які дозволяють вам виконувати складні операції обробки даних безпосередньо в базі даних.
Код:
# Знайти середнє значення для поля "likes"
average_likes = collection.aggregate([
{"$group": {"_id": None, "avg_likes": {"$avg": "$likes"}}}
]).next()["avg_likes"]
Реплікація та Шардування
MongoDB надає механізми для забезпечення високої доступності та масштабованості. Реплікація дозволяє створювати копії бази даних на різних серверах, забезпечуючи надійність та відновлення даних в разі відмови.
Код:
# Налаштування реплікації
replica_config = {
"_id": "myreplica",
"members": [
{"_id": 0, "host": "server1:27017"},
{"_id": 1, "host": "server2:27017"},
{"_id": 2, "host": "server3:27017"}
]
}
# Запуск реплікації
db.command("replSetInitiate", replica_config)
Підключення з Додатками
Використання MongoDB в додатках може бути легкою завдяки різноманітним бібліотекам та драйверам для різних мов програмування. Наприклад, PyMongo для Python дозволяє легко взаємодіяти з базою даних.
Код:
# Встановлення PyMongo
pip install pymongo
pythonCopy code
# Підключення та взаємодія з MongoDB за допомогою PyMongo
from pymongo import MongoClient
client = MongoClient('mongodb://localhost:27017/')
db = client['mydatabase']
collection = db['mycollection']
Захист Даних
MongoDB пропонує засоби безпеки, такі як автентифікація та авторизація, щоб забезпечити захист вашої бази даних від несанкціонованого доступу.
Код:
# Налаштування автентифікації
db.command("createUser", "myuser", pwd="mypassword", roles=["readWrite"])
Ці приклади створюють базовий огляд того, як працювати з MongoDB та використовувати його функціональні можливості у різних аспектах вашого проекту. Завдяки гнучкості та потужності MongoDB, ви можете легко адаптувати його до ваших потреб та вимог.