From fd85b27e876049a52520903e85b5daf9d4df23fb Mon Sep 17 00:00:00 2001 From: Felipe D'Abrantes <felidabrantes@gmail> Date: Fri, 7 Apr 2023 23:16:34 +0100 Subject: [PATCH] Default to no projections if not specified --- .../app/utils/MongoConnection.scala | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/backend-services/feed-service/app/utils/MongoConnection.scala b/backend-services/feed-service/app/utils/MongoConnection.scala index 39caedb8..04ca348a 100644 --- a/backend-services/feed-service/app/utils/MongoConnection.scala +++ b/backend-services/feed-service/app/utils/MongoConnection.scala @@ -1,7 +1,7 @@ package utils import org.mongodb.scala.{MongoClient, MongoDatabase, MongoCollection} -import org.mongodb.scala.model.{Filters, Projections, Sorts} +import org.mongodb.scala.model.{Filters, Sorts} import com.mongodb.client.result.{InsertOneResult, UpdateResult} import org.bson.conversions.Bson @@ -63,13 +63,17 @@ object MongoConnection { def find[T: ClassTag]( collection: MongoCollection[T], filter: Bson = Filters.empty(), - projection: Bson = Projections.excludeId(), - sort: Bson = Sorts.ascending("_id") + sort: Bson = Sorts.ascending("_id"), + projection: Option[Bson] = None ): Future[Seq[T]] = { - collection.find[T](filter) - .projection(projection) - .sort(sort) - .toFuture() + var result = collection.find[T](filter).sort(sort) + + result = if (projection.isDefined == true) + result.projection(projection.get) + else + result + + result.toFuture() } /** -- GitLab