Update mongodb

This commit is contained in:
sunkaixuan 2025-06-21 13:58:14 +08:00
parent ccd96f4500
commit a57c6057f2
2 changed files with 12 additions and 0 deletions

View File

@ -189,6 +189,10 @@ namespace MongoDbTest
var list22= db.Queryable<Student>() var list22= db.Queryable<Student>()
.Select(it=>it.Name).ToList(); .Select(it=>it.Name).ToList();
if (list22.First() != "a") Cases.ThrowUnitError(); if (list22.First() != "a") Cases.ThrowUnitError();
var list23 = db.Queryable<Student>()
.Select(it => it.Name.ToUpper()).ToList();
if (list23.First() != "A") Cases.ThrowUnitError();
} }
[SqlSugar.SugarTable("UnitStudent1231sds3z1")] [SqlSugar.SugarTable("UnitStudent1231sds3z1")]
public class Student : MongoDbBase public class Student : MongoDbBase

View File

@ -140,6 +140,14 @@ namespace SqlSugar.MongoDb
dos["fieldName"] = "$"+ dos["fieldName"]; dos["fieldName"] = "$"+ dos["fieldName"];
dos.Add(new BsonElement("_id", "0")); dos.Add(new BsonElement("_id", "0"));
} }
else if (dos.ElementCount > 0 && dos.GetElement(0).Name.StartsWith("$"))
{
// 如果第一个key带有$说明是个函数外面套一层fieldName
var funcDoc = new BsonDocument(dos); // 复制一份
dos.Clear();
dos.Add("fieldName", funcDoc);
dos.Add(new BsonElement("_id", "0"));
}
var json = dos.ToJson(UtilMethods.GetJsonWriterSettings()); var json = dos.ToJson(UtilMethods.GetJsonWriterSettings());
operations.Add($"{{\"$project\": {json} }}"); operations.Add($"{{\"$project\": {json} }}");
} }