From 6d2814d7e15596867418024eb275cf06debb4ccd Mon Sep 17 00:00:00 2001 From: Akshay Goel Date: Thu, 24 Jul 2025 00:24:34 +0530 Subject: [PATCH 1/2] Update mongo.rb to add hint in the aggregates --- lib/mongoid/contextual/aggregable/mongo.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/mongoid/contextual/aggregable/mongo.rb b/lib/mongoid/contextual/aggregable/mongo.rb index a7972ae0a2..920dbc3b75 100644 --- a/lib/mongoid/contextual/aggregable/mongo.rb +++ b/lib/mongoid/contextual/aggregable/mongo.rb @@ -27,7 +27,8 @@ module Mongo # If no documents are found, then returned Hash will have # count, sum of 0 and max, min, avg of nil. def aggregates(field) - result = collection.aggregate(pipeline(field), session: _session).to_a + hint = options[:hint] + result = collection.aggregate(pipeline(field), session: _session, hint: hint).to_a if result.empty? Aggregable::EMPTY_RESULT.dup else From 3f449d174ddfc669532b1503a68919cecbed75a5 Mon Sep 17 00:00:00 2001 From: Akshay Goel Date: Thu, 24 Jul 2025 00:27:29 +0530 Subject: [PATCH 2/2] Update mongo.rb --- lib/mongoid/contextual/aggregable/mongo.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/mongoid/contextual/aggregable/mongo.rb b/lib/mongoid/contextual/aggregable/mongo.rb index 920dbc3b75..a01de22db4 100644 --- a/lib/mongoid/contextual/aggregable/mongo.rb +++ b/lib/mongoid/contextual/aggregable/mongo.rb @@ -27,8 +27,7 @@ module Mongo # If no documents are found, then returned Hash will have # count, sum of 0 and max, min, avg of nil. def aggregates(field) - hint = options[:hint] - result = collection.aggregate(pipeline(field), session: _session, hint: hint).to_a + result = collection.aggregate(pipeline(field), session: _session, hint: options[:hint]).to_a if result.empty? Aggregable::EMPTY_RESULT.dup else