Update mognodb

This commit is contained in:
sunkaixuan 2025-08-19 19:55:49 +08:00
parent 0881317ca9
commit 537779f569

View File

@ -134,7 +134,30 @@ namespace SqlSugar.MongoDb
{
return ProcessAnyExpression(methodCallExpression);
}
}
else if (IsAnyMethodCallEmpty(methodCallExpression, name))
{
// 处理 it.xx.Any(),即判断 JSON 数组字段是否非空
var memberExpression = methodCallExpression.Arguments.FirstOrDefault() as MemberExpression;
if (memberExpression != null)
{
// 获取集合字段名
var collectionField = MongoNestedTranslator.TranslateNoFieldName(
memberExpression,
_context,
new ExpressionVisitorContext { IsText = true }
);
// 构造 $size > 0 查询
var bson = new BsonDocument
{
{ "$expr", new BsonDocument("$gt", new BsonArray { new BsonDocument("$size", UtilMethods.GetMemberName(collectionField)), 0 }) }
};
result = bson;
}
}
{
}
return result;
}
@ -431,7 +454,11 @@ namespace SqlSugar.MongoDb
{
return name == "Any" && methodCallExpression.Arguments.Count == 2;
}
private static bool IsAnyMethodCallEmpty(MethodCallExpression methodCallExpression, string name)
{
return name == "Any" && methodCallExpression.Arguments.Count ==1;
}
private static bool IsCountJson(MethodCallExpression methodCallExpression, string name)
{
return name == "Count" && methodCallExpression?.Arguments?.FirstOrDefault() is MemberExpression m;