From 41de51a4db1ae0413e8d400f29cec7f38dbf2164 Mon Sep 17 00:00:00 2001 From: yangdx Date: Thu, 31 Jul 2025 02:27:16 +0800 Subject: [PATCH] fix: add missing await in MongoDB get_all_status_counts aggregation Resolves 'coroutine' object has no attribute 'to_list' error in document pagination endpoint by adding missing await keyword before self._data.aggregate() call. --- lightrag/kg/mongo_impl.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lightrag/kg/mongo_impl.py b/lightrag/kg/mongo_impl.py index fd7935b9..14bd6633 100644 --- a/lightrag/kg/mongo_impl.py +++ b/lightrag/kg/mongo_impl.py @@ -366,7 +366,7 @@ class MongoDocStatusStorage(DocStatusStorage): async def get_status_counts(self) -> dict[str, int]: """Get counts of documents in each status""" pipeline = [{"$group": {"_id": "$status", "count": {"$sum": 1}}}] - cursor = self._data.aggregate(pipeline, allowDiskUse=True) + cursor = await self._data.aggregate(pipeline, allowDiskUse=True) result = await cursor.to_list() counts = {} for doc in result: @@ -620,7 +620,7 @@ class MongoDocStatusStorage(DocStatusStorage): Dictionary mapping status names to counts, including 'all' field """ pipeline = [{"$group": {"_id": "$status", "count": {"$sum": 1}}}] - cursor = self._data.aggregate(pipeline, allowDiskUse=True) + cursor = await self._data.aggregate(pipeline, allowDiskUse=True) result = await cursor.to_list() counts = {}