From ba4740b270a116dea5e51c02c0c44e17d4164985 Mon Sep 17 00:00:00 2001 From: Agustin Godnic Date: Tue, 1 Aug 2023 12:40:08 -0300 Subject: [PATCH] Reorder query pipeline to leverage indexes --- api/handlers/vaa/repository.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/handlers/vaa/repository.go b/api/handlers/vaa/repository.go index ac7ab1f37..54bbedd60 100644 --- a/api/handlers/vaa/repository.go +++ b/api/handlers/vaa/repository.go @@ -126,9 +126,6 @@ func (r *Repository) FindVaasByEmitterAndToChain( // build a query pipeline based on input parameters var pipeline mongo.Pipeline { - // specify sorting criteria - pipeline = append(pipeline, bson.D{{"$sort", bson.D{bson.E{"indexedAt", query.GetSortInt()}}}}) - // filter by emitterChain, emitterAddr, and toChain pipeline = append(pipeline, bson.D{ {"$match", bson.D{bson.E{"emitterChain", query.chainId}}}, @@ -140,6 +137,9 @@ func (r *Repository) FindVaasByEmitterAndToChain( {"$match", bson.D{bson.E{"rawStandardizedProperties.toChain", toChain}}}, }) + // specify sorting criteria + pipeline = append(pipeline, bson.D{{"$sort", bson.D{bson.E{"indexedAt", query.GetSortInt()}}}}) + // skip initial results if query.Pagination.Skip != 0 { pipeline = append(pipeline, bson.D{{"$skip", query.Pagination.Skip}})