From 6aa92e5cbc01de069056b1f1af139f17e734156a Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 21 Nov 2025 19:05:31 +0800 Subject: [PATCH] Update mongodb --- .../MongoDb/SqlBuilder/MongoDbQueryBuilder.cs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbQueryBuilder.cs b/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbQueryBuilder.cs index b3cd74955..a53d703f2 100644 --- a/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbQueryBuilder.cs +++ b/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbQueryBuilder.cs @@ -177,12 +177,20 @@ namespace SqlSugar.MongoDb jsonPart = str; directionPart = "ASC"; } - var bson = MongoDB.Bson.Serialization.BsonSerializer.Deserialize(jsonPart); - if (bson.Contains(UtilConstants.FieldName)) + if (jsonPart?.StartsWith("{") == false && jsonPart?.StartsWith("[") == false) { - var field = bson[UtilConstants.FieldName].AsString; var direction = directionPart == "DESC" ? -1 : 1; - sortDoc[field] = direction; + sortDoc[jsonPart?.Replace(" ASC","")?.TrimEnd('\"')?.TrimStart('\"')] = direction; + } + else + { + var bson = MongoDB.Bson.Serialization.BsonSerializer.Deserialize(jsonPart); + if (bson.Contains(UtilConstants.FieldName)) + { + var field = bson[UtilConstants.FieldName].AsString; + var direction = directionPart == "DESC" ? -1 : 1; + sortDoc[field] = direction; + } } } if (sortDoc.ElementCount > 0)