Files
toads/modules/DB.py
T
Dmitrium12 a877b80606 починил все баги
начал доставать всё из базы
сделал новую игру
2023-01-26 17:01:39 +07:00

72 lines
2.3 KiB
Python

from pymongo import MongoClient
class UseDB:
"""
Класс для работы с базой данных
"""
def __init__(self, collection_name):
self.series_collection = None
self.client = MongoClient('194.61.1.147', 52530)
self.db = self.client['toads']
self.series_collection = self.db[collection_name]
def find_document(self, elements: dict) -> list:
"""
Функция поиска элемента в базе данных
:param elements: dict - элемент, который надо искать
:return: list - сам элемент
"""
return [x for x in self.series_collection.find(elements)]
def insert_document(self, data: dict) -> list:
"""
Функция добавления элемента в базу данных
:param data: dict - элемент, который надо добавить
:return: list - созданный элемент
"""
return self.series_collection.insert_one(data).inserted_id
def update_document(self, query_elements: dict, new_values: dict) -> None:
"""
Функция обновления элемента в базе данных
:param query_elements: dict - элемент, который надо обновить
:param new_values: dict - элемент, этот самый элемент
:return: None
"""
self.series_collection.update_one(query_elements, {'$set': new_values})
def del_document(self, query_elements: dict) -> None:
"""
Функция удаления элемента в базу данных
:param query_elements: dict - элемент, который надо удалить
:return: None
"""
self.series_collection.delete_one(query_elements)
def create_new_game(self):
self.series_collection.drop()
self.series_collection.insert_one({
"day": 0,
"frogs": [{
"name": "Квакуша",
"hp": 100,
"hunger": 0
}],
"money": 0,
"save": {
"name": "start",
"data": "25.01.2023" # TODO:получить дату нормально
}
})