diff --git a/Src/Asp.NetCore2/MongoDbTest/UnitTest/QuerySelect.cs b/Src/Asp.NetCore2/MongoDbTest/UnitTest/QuerySelect.cs index 75ff3ec8c..b5a819f2a 100644 --- a/Src/Asp.NetCore2/MongoDbTest/UnitTest/QuerySelect.cs +++ b/Src/Asp.NetCore2/MongoDbTest/UnitTest/QuerySelect.cs @@ -179,13 +179,13 @@ namespace MongoDbTest }).ToList(); if (list19.Max(it => it.name) != true) Cases.ThrowUnitError(); - //var list20 = db.Queryable() - // .Select(it => new - // { - // name = string.IsNullOrEmpty(it.Name).ToString(), - // }).ToList(); - //if (list20.Max(it => it.name) != "true") Cases.ThrowUnitError(); - + var list20 = db.Queryable() + .Select(it => new + { + name = string.IsNullOrEmpty(it.Name).ToString(), + }).ToList(); + if (list20.Max(it => it.name) != "true") Cases.ThrowUnitError(); + var list22= db.Queryable() .Select(it=>it.Name).ToList(); if (list22.First() != "a") Cases.ThrowUnitError(); diff --git a/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbExpressionContext.cs b/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbExpressionContext.cs index 8b1fcb634..4f1289171 100644 --- a/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbExpressionContext.cs +++ b/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbExpressionContext.cs @@ -448,7 +448,7 @@ namespace SqlSugar.MongoDb if (model.Args == null || model.Args.Count == 0) { // 只有 ToString(),直接转字符串 - var toStringDoc = new BsonDocument("$toString", $"${memberName}"); + var toStringDoc = new BsonDocument("$toString", GetMemberName(memberName)); return toStringDoc.ToJson(UtilMethods.GetJsonWriterSettings()); } else if (model.Args.Count == 1) @@ -596,9 +596,14 @@ namespace SqlSugar.MongoDb return trimDoc.ToJson(UtilMethods.GetJsonWriterSettings()); } - #region Helper - - // Existing methods... + #region Helper + private static BsonValue GetMemberName(BsonValue memberName) + { + if (memberName is BsonDocument) + return memberName; + else + return $"${memberName}"; + } /// /// Converts a C# date format string to a MongoDB-compatible date format string.