mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-20 00:44:19 +08:00
Update mognodb
This commit is contained in:
parent
0881317ca9
commit
537779f569
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user