From e70a76ff63c0d3db0d1d15e26c6f0edbaaad9670 Mon Sep 17 00:00:00 2001 From: Biorobot1337 <83316072+genagorkin1@users.noreply.github.com> Date: Tue, 22 Jun 2021 01:15:01 +0500 Subject: [PATCH] Mongo storage cleanup (#609) * Update message.py Fixed syntax bug, added comma * Cleanup mongodb storage Cleaning up blank documents in DATA collection --- aiogram/contrib/fsm_storage/mongo.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/aiogram/contrib/fsm_storage/mongo.py b/aiogram/contrib/fsm_storage/mongo.py index 992e2e70..ab7d3176 100644 --- a/aiogram/contrib/fsm_storage/mongo.py +++ b/aiogram/contrib/fsm_storage/mongo.py @@ -142,9 +142,11 @@ class MongoStorage(BaseStorage): data: Dict = None): chat, user = self.check_address(chat=chat, user=user) db = await self.get_db() - - await db[DATA].update_one(filter={'chat': chat, 'user': user}, - update={'$set': {'data': data}}, upsert=True) + if not data: + await db[DATA].delete_one(filter={'chat': chat, 'user': user}) + else: + await db[DATA].update_one(filter={'chat': chat, 'user': user}, + update={'$set': {'data': data}}, upsert=True) async def get_data(self, *, chat: Union[str, int, None] = None, user: Union[str, int, None] = None, default: Optional[dict] = None) -> Dict: