mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-11-09 02:44:58 +08:00
Update mongodb
This commit is contained in:
@@ -21,7 +21,7 @@ namespace MongoDb.Ado.data
|
||||
{
|
||||
collection.InsertOne(doc);
|
||||
}
|
||||
var objectId = doc["_id"].AsObjectId.ToString();
|
||||
var objectId = doc["_id"].IsObjectId ? doc["_id"].AsObjectId.ToString() : doc["_id"].ToString();
|
||||
context.ids = new string[] { objectId };
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace MongoDb.Ado.data
|
||||
{
|
||||
collection.InsertMany(documents);
|
||||
}
|
||||
var objectIds = documents.Select(it=>it["_id"].AsObjectId.ToString()).ToArray();
|
||||
var objectIds = documents.Select(it=>it["_id"].IsObjectId? it["_id"].AsObjectId.ToString(): it["_id"]?.ToString()).ToArray();
|
||||
context.ids = objectIds;
|
||||
return documents.Count;
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace MongoDb.Ado.data
|
||||
{
|
||||
await collection.InsertOneAsync(doc, null, token);
|
||||
}
|
||||
var objectId = doc["_id"].AsObjectId.ToString();
|
||||
var objectId = doc["_id"].IsObjectId? doc["_id"].AsObjectId.ToString() : doc["_id"].ToString();
|
||||
context.ids = new string[] { objectId };
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace MongoDb.Ado.data
|
||||
{
|
||||
await collection.InsertManyAsync(documents, null, token);
|
||||
}
|
||||
var objectIds = documents.Select(it => it["_id"].AsObjectId.ToString()).ToArray();
|
||||
var objectIds = documents.Select(it => it["_id"].IsObjectId ? it["_id"].AsObjectId.ToString() : it["_id"]?.ToString()).ToArray();
|
||||
context.ids = objectIds;
|
||||
return documents.Count;
|
||||
}
|
||||
|
||||
@@ -100,7 +100,11 @@ namespace SqlSugar.MongoDb
|
||||
{
|
||||
if (entityColumnInfo?.IsPrimarykey==true||entityColumnInfo?.DataType==nameof(ObjectId))
|
||||
{
|
||||
rightValue=ObjectId.Parse(rightValue?.ToString());
|
||||
var str = rightValue?.ToString();
|
||||
if (UtilMethods.IsValidObjectId(str))
|
||||
{
|
||||
rightValue = ObjectId.Parse(str);
|
||||
}
|
||||
}
|
||||
return rightValue;
|
||||
}
|
||||
|
||||
@@ -628,7 +628,7 @@ namespace SqlSugar.MongoDb
|
||||
}
|
||||
else
|
||||
{
|
||||
bsonArray.Add(BsonValue.Create(value));
|
||||
bsonArray.Add(BsonValue.Create(val));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -201,9 +201,9 @@ namespace SqlSugar.MongoDb
|
||||
// 自动推断类型,如 string、int、bool、DateTime、ObjectId 等
|
||||
if (col.IsJson == true)
|
||||
{
|
||||
doc[col.DbColumnName] =UtilMethods.ParseJsonObject(col.Value);
|
||||
doc[col.DbColumnName] = UtilMethods.ParseJsonObject(col.Value);
|
||||
}
|
||||
else if (col.Value!=null&&col.DataType == nameof(ObjectId))
|
||||
else if (col.Value != null && col.DataType == nameof(ObjectId))
|
||||
{
|
||||
doc[col.DbColumnName] = UtilMethods.MyCreate(ObjectId.Parse(col.Value?.ToString()));
|
||||
}
|
||||
|
||||
@@ -595,7 +595,7 @@ namespace SqlSugar.MongoDb
|
||||
|
||||
internal static BsonValue MyCreate(object value, DbColumnInfo col)
|
||||
{
|
||||
if (value != null&&IsObjectColumn(col))
|
||||
if (value != null&&IsObjectColumn(col)&& value is string s&&IsValidObjectId(s))
|
||||
{
|
||||
return MyCreate(ObjectId.Parse(value?.ToString()));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user