diff --git a/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryWhere.cs b/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryWhere.cs index 0d5cf5b55..1a28829f0 100644 --- a/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryWhere.cs +++ b/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryWhere.cs @@ -105,7 +105,12 @@ namespace MongoDbTest var dt = DateTime.Now.AddDays(-10); db.Insertable(new Student() { Name = "jack",CreateDateTime= dt, Bool = true, SchoolId = 2 }).ExecuteCommand(); db.Insertable(new Student() { Name = "tom_null", CreateDateTime = DateTime.Now.AddDays(-110), Bool = false, BoolNull = true, SchoolId = 3, SchoolIdNull = 4 }).ExecuteCommand(); - var x=db.Queryable().ToList(); + var x1=db.Queryable().ToList(); + var x2 = db.Queryable().Where(it=>it.Bool==true).ToList(); + var x3=db.Queryable().Where(it => it.Bool).ToList(); + if (x3.Count != x2.Count) Cases.ThrowUnitError(); + if (x3.First().Id != x2.First().Id) Cases.ThrowUnitError(); + if (x3.First().Bool!=true) Cases.ThrowUnitError(); } [SqlSugar.SugarTable("UnitStudent1ssss23s131")] diff --git a/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbQueryBuilder.cs b/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbQueryBuilder.cs index edd06d1e6..6f9e9baca 100644 --- a/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbQueryBuilder.cs +++ b/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbQueryBuilder.cs @@ -180,8 +180,10 @@ namespace SqlSugar.MongoDb if (MongoDbExpTools.IsFieldNameJson(trimmed)) { var outerDoc = BsonDocument.Parse(trimmed); - trimmed = outerDoc[UtilConstants.FieldName].AsString; - operations.Add(trimmed); + var fieldName = outerDoc[UtilConstants.FieldName].AsString; + // 这里假定该字段为bool类型,生成 { fieldName: true } + var boolDoc = new BsonDocument(fieldName, true); + operations.Add($"{{ \"$match\": {boolDoc.ToJson(UtilMethods.GetJsonWriterSettings())} }}"); } else {