Browse Source

Add fallback in case aggregate doesnt return any data

ogert 4 years ago
parent
commit
dc063d395d
1 changed files with 8 additions and 2 deletions
  1. 8 2
      cdplib/db_handlers/MongodbHandler.py

+ 8 - 2
cdplib/db_handlers/MongodbHandler.py

@@ -300,8 +300,14 @@ class MongodbHandler:
         except Exception as error:
             self._log.log_and_raise_error(('A problem occured when aggregating the collection {} with the pipeline {}. \nError: {}').format(collection_name, aggregation_pipeline, error))
             return None
-
-        return self.convert_mongo_data_into_dataframe(data, index, collection_name)
+         if data.collection.count_documents(aggregation_pipeline) != 0:
+            if return_as_dataframe:
+                return self.convert_mongo_data_into_dataframe(data, index, collection_name)
+            else:
+                return data
+        else:
+            self._log.warning('No data was found for the query')
+            return None
 
     def convert_mongo_data_into_dataframe(self, data, index: str = None, collection_name: str = None, chunksize: int = 500) -> pd.DataFrame():