mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-06-28 04:35:29 +08:00
Update mongodb
This commit is contained in:
parent
fb405063f8
commit
ccd96f4500
@ -170,7 +170,25 @@ namespace MongoDbTest
|
||||
{
|
||||
name = it.Name.Length,
|
||||
}).ToList();
|
||||
if(list18.Max(it=>it.name)!=2) Cases.ThrowUnitError();
|
||||
if(list18.Max(it=>it.name)!=2) Cases.ThrowUnitError();
|
||||
|
||||
var list19= db.Queryable<Student>()
|
||||
.Select(it => new
|
||||
{
|
||||
name =string.IsNullOrEmpty(it.Name),
|
||||
}).ToList();
|
||||
if (list19.Max(it => it.name) != true) Cases.ThrowUnitError();
|
||||
|
||||
//var list20 = db.Queryable<Student>()
|
||||
// .Select(it => new
|
||||
// {
|
||||
// name = string.IsNullOrEmpty(it.Name).ToString(),
|
||||
// }).ToList();
|
||||
//if (list20.Max(it => it.name) != "true") Cases.ThrowUnitError();
|
||||
|
||||
var list22= db.Queryable<Student>()
|
||||
.Select(it=>it.Name).ToList();
|
||||
if (list22.First() != "a") Cases.ThrowUnitError();
|
||||
}
|
||||
[SqlSugar.SugarTable("UnitStudent1231sds3z1")]
|
||||
public class Student : MongoDbBase
|
||||
|
@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using MongoDB.Bson;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq.Expressions;
|
||||
@ -7,7 +8,18 @@ using System.Text;
|
||||
namespace SqlSugar.MongoDb
|
||||
{
|
||||
public class MongoDbExpTools
|
||||
{
|
||||
{
|
||||
|
||||
public static bool IsFieldNameJson(string trimmed)
|
||||
{
|
||||
return trimmed.StartsWith("{ \"fieldName\" : ");
|
||||
}
|
||||
public static bool IsFieldNameJson(BsonDocument doc)
|
||||
{
|
||||
if (doc.Contains("fieldName"))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
public static string CustomToString(object value)
|
||||
{
|
||||
if (value == null||value==DBNull.Value)
|
||||
|
@ -64,7 +64,7 @@ namespace SqlSugar.MongoDb
|
||||
trimmed = trimmed.Substring(5).TrimStart();
|
||||
else if (trimmed.StartsWith("AND", StringComparison.OrdinalIgnoreCase))
|
||||
trimmed = trimmed.Substring(3).TrimStart();
|
||||
if (IsFieldNameJson(trimmed))
|
||||
if (MongoDbExpTools.IsFieldNameJson(trimmed))
|
||||
{
|
||||
var outerDoc = BsonDocument.Parse(trimmed);
|
||||
trimmed = outerDoc["fieldName"].AsString;
|
||||
@ -135,6 +135,11 @@ namespace SqlSugar.MongoDb
|
||||
resolveType=ResolveExpressType.SelectSingle,
|
||||
queryBuilder=this
|
||||
});
|
||||
if (MongoDbExpTools.IsFieldNameJson(dos))
|
||||
{
|
||||
dos["fieldName"] = "$"+ dos["fieldName"];
|
||||
dos.Add(new BsonElement("_id", "0"));
|
||||
}
|
||||
var json = dos.ToJson(UtilMethods.GetJsonWriterSettings());
|
||||
operations.Add($"{{\"$project\": {json} }}");
|
||||
}
|
||||
@ -200,13 +205,7 @@ namespace SqlSugar.MongoDb
|
||||
sb.Append("]");
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private bool IsFieldNameJson(string trimmed)
|
||||
{
|
||||
return trimmed.StartsWith("{ \"fieldName\" : ");
|
||||
}
|
||||
|
||||
}
|
||||
public override string ToCountSql(string sql)
|
||||
{
|
||||
sql=sql.TrimEnd(']');
|
||||
|
Loading…
Reference in New Issue
Block a user