diff --git a/core/controllers/utils.go b/core/controllers/utils.go index a0e09c6e..118f415a 100644 --- a/core/controllers/utils.go +++ b/core/controllers/utils.go @@ -259,7 +259,8 @@ func GetSortsOption(c *gin.Context) (sort bson.D, err error) { func MustGetSortOption(c *gin.Context) (sort bson.D) { sort, err := GetSortsOption(c) if err != nil { - return nil + // Return default sort by _id descending when parsing fails + return bson.D{{"_id", -1}} } return sort } diff --git a/core/models/service/base_service.go b/core/models/service/base_service.go index 363430c8..61e52bc1 100644 --- a/core/models/service/base_service.go +++ b/core/models/service/base_service.go @@ -491,6 +491,9 @@ func GetPaginationPipeline(query bson.M, sort bson.D, skip, limit int) []bson.D if query == nil { query = bson.M{} } + if sort == nil { + sort = bson.D{{"_id", -1}} + } return []bson.D{ {{Key: "$match", Value: query}}, {{Key: "$sort", Value: sort}},