47 lines
1.8 KiB
Python
47 lines
1.8 KiB
Python
import pymongo
|
|
|
|
from datetime import datetime
|
|
|
|
from bson import ObjectId
|
|
|
|
|
|
class MongoWorker:
|
|
def __init__(self):
|
|
self.client = pymongo.MongoClient(host="127.0.0.1", port=27017)
|
|
self.db = self.client["data"]
|
|
self.users_data = self.db["users_data"]
|
|
self.game_data = self.db["game_data"]
|
|
|
|
def get_mongodb_info(self) -> None:
|
|
print(self.client.list_database_names())
|
|
print(self.db.list_collection_names())
|
|
|
|
def find_user(self, user_id: int) -> dict:
|
|
result = self.users_data.find_one({"user_id": user_id})
|
|
return result
|
|
|
|
def add_user(self, user_id: int, username: str, first_name: str, last_name: str, photo_path: str) -> ObjectId:
|
|
try:
|
|
res = self.users_data.insert_one({"user_id": user_id,
|
|
"username": username,
|
|
"first_name": first_name,
|
|
"last_name": last_name,
|
|
"photo_path": photo_path,
|
|
"activity": 0,
|
|
"liked_post_ids": [],
|
|
"disliked_post_ids": [],
|
|
"comments_ids": [],
|
|
"registration_date": datetime.now().isoformat()
|
|
})
|
|
return res.inserted_id
|
|
except Exception as exception:
|
|
print(exception)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
mongo = MongoWorker()
|
|
mongo.get_mongodb_info()
|
|
print("test Github action")
|
|
print(mongo.add_user(123, "VolochayIgor", "Igor", "Volochay", "path/to/img"))
|
|
print(mongo.find_user(123))
|