diff --git a/apps/content/backend/content/content_service.py b/apps/content/backend/content/content_service.py index 6bebb6f..b7c16ac 100644 --- a/apps/content/backend/content/content_service.py +++ b/apps/content/backend/content/content_service.py @@ -15,9 +15,13 @@ class ContentService: async def retrieve_content_directories_for_folder( self, folder_name: str, region: UserRegion ) -> List[ContentDirectory]: - folder = await ContentFolderDoc.find_one( - ContentFolderDoc.folder_name == folder_name, - ContentFolderDoc.region == region, + folder = ( + await ContentFolderDoc.find( + ContentFolderDoc.folder_name == folder_name, + ContentFolderDoc.region == region, + ) + .sort(-ContentFolderDoc.udpate_time) + .first_or_none() ) if folder is None or folder.valid_thru.replace( tzinfo=timezone.utc diff --git a/apps/content/backend/content/models.py b/apps/content/backend/content/models.py index b0c333c..2901717 100644 --- a/apps/content/backend/content/models.py +++ b/apps/content/backend/content/models.py @@ -27,3 +27,7 @@ class ContentFolderDoc(Document): class Settings: name = "content_folder" + indexes = [ + [("folder_name", 1), ("region", 1)], # Compound index + [("udpate_time", -1)], # Descending index for udpate_time + ]