Update mongodb

This commit is contained in:
sunkaixuan 2025-06-19 15:37:45 +08:00
parent 056245e676
commit 12ae51653c
2 changed files with 19 additions and 2 deletions

View File

@ -106,6 +106,12 @@ namespace MongoDbTest
if (list10.First().Age4 != 100) Cases.ThrowUnitError(); if (list10.First().Age4 != 100) Cases.ThrowUnitError();
if (list10.First().Age5 != 11) Cases.ThrowUnitError(); if (list10.First().Age5 != 11) Cases.ThrowUnitError();
if (list10.First().Age6 != 1) Cases.ThrowUnitError(); if (list10.First().Age6 != 1) Cases.ThrowUnitError();
var list11 = db.Queryable<Student>().Select(it => new
{
Age = it.Age > 0 ? it.Age +1: 1,
}).ToList();
if (list11.First().Age != 12) Cases.ThrowUnitError();
} }
[SqlSugar.SugarTable("UnitStudent1231sds3z1")] [SqlSugar.SugarTable("UnitStudent1231sds3z1")]
public class Student : MongoDbBase public class Student : MongoDbBase

View File

@ -17,13 +17,24 @@ namespace SqlSugar.MongoDb
else else
return GetCommonCalculation(field, value, operation); return GetCommonCalculation(field, value, operation);
} }
private static BsonDocument GetCommonCalculation(BsonValue field, BsonValue value, string operation) private BsonDocument GetCommonCalculation(BsonValue field, BsonValue value, string operation)
{
if (_visitorContext?.IsText == true)
{
// 三元条件格式: { "$gt": ["$Age", 0] }
return new BsonDocument
{
{ operation, new BsonArray { "$" + field, value } }
};
}
else
{ {
return new BsonDocument return new BsonDocument
{ {
{ field.ToString(), new BsonDocument { { operation, value } } } { field.ToString(), new BsonDocument { { operation, value } } }
}; };
} }
}
private static BsonDocument StringAddCalculation(BsonValue field, BsonValue value, bool leftIsMember, bool rightIsMember, out string operation) private static BsonDocument StringAddCalculation(BsonValue field, BsonValue value, bool leftIsMember, bool rightIsMember, out string operation)
{ {