a877b80606
начал доставать всё из базы сделал новую игру
72 lines
2.3 KiB
Python
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:получить дату нормально
|
|
}
|
|
})
|