diff --git a/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryJson.cs b/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryJson.cs index ab620dd2f..eec63b64b 100644 --- a/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryJson.cs +++ b/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryJson.cs @@ -21,6 +21,11 @@ namespace MongoDbTest var data2 = db.Queryable().Where(it => it.Book.Price == 1).ToList(); if (data2.Count != 1) Cases.ThrowUnitError(); if (data2.First().Book.Price != 1) Cases.ThrowUnitError(); + data2.First().Book.Price = 100; + db.Updateable(data2).ExecuteCommand(); + var data3 = db.Queryable().Where(it => it.Book.Price == 100).ToList(); + if (data3.Count != 1) Cases.ThrowUnitError(); + if (data2.First().Book.Price != 100) Cases.ThrowUnitError(); } [SqlSugar.SugarTable("UnitStudentdfsds3zzz1")] diff --git a/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbUpdateBuilder.cs b/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbUpdateBuilder.cs index bb1c3db64..867c568fb 100644 --- a/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbUpdateBuilder.cs +++ b/Src/Asp.NetCore2/SqlSugar.MongoDbCore/MongoDb/SqlBuilder/MongoDbUpdateBuilder.cs @@ -121,8 +121,16 @@ namespace SqlSugar.MongoDb } else { - var bsonValue = UtilMethods.MyCreate(col.Value); - setDoc[col.DbColumnName] = bsonValue; + if (col.IsJson) + { + var bsonValue = BsonDocument.Parse(col.Value?.ToString()); + setDoc[col.DbColumnName] = bsonValue; + } + else + { + var bsonValue = UtilMethods.MyCreate(col.Value); + setDoc[col.DbColumnName] = bsonValue; + } } }