Update mongodb

This commit is contained in:
sunkaixuan
2025-05-01 17:27:12 +08:00
parent ac88ba26f6
commit 982b7d0f8b
2 changed files with 79 additions and 8 deletions

View File

@@ -86,14 +86,19 @@ namespace MongoDb.Ado.data
if (operation == "updatemany") if (operation == "updatemany")
{ {
// 处理更新多个文档操作 var totals = 0;
var updateCommand = BsonDocument.Parse(json); // 处理插入多条记录操作
var filter = updateCommand["filter"].AsBsonDocument; var documents = BsonSerializer.Deserialize<List<BsonDocument>>(json); // 假设 json 是包含多个文档的数组
var update = updateCommand["update"].AsBsonDocument; foreach (var updateCommand in documents)
var options = updateCommand.Contains("options") ? updateCommand["options"].AsBsonDocument : null; {
var filter = updateCommand["filter"].AsBsonDocument;
var update = updateCommand["update"].AsBsonDocument;
var options = updateCommand.Contains("options") ? updateCommand["options"].AsBsonDocument : null;
var updateResult = collection.UpdateMany(filter, update); // 个更新 var updateResult = collection.UpdateOne(filter, update); // 个更新
return (int)updateResult.ModifiedCount; // 返回修改的文档数 totals+=(int)updateResult.ModifiedCount; // 返回修改的文档数
}
return documents.Count; // 返回插入成功的文档数
} }
if (operation == "delete") if (operation == "delete")

View File

@@ -44,7 +44,17 @@ namespace MongoDbTest
var value=mongoDbCommand.ExecuteScalar(); var value=mongoDbCommand.ExecuteScalar();
connection.Close(); connection.Close();
} }
//ExecuteNonQuery //ExecuteNonQuery insert
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(
"insert b { name: \"John\", age: 31 }",
connection);
var value = mongoDbCommand.ExecuteNonQuery();
connection.Close();
}
//ExecuteNonQuery insertMany
{ {
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString); var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open(); connection.Open();
@@ -52,6 +62,62 @@ namespace MongoDbTest
var value = mongoDbCommand.ExecuteNonQuery(); var value = mongoDbCommand.ExecuteNonQuery();
connection.Close(); connection.Close();
} }
//ExecuteNonQuery update
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(
@"update b {
""filter"": { ""name"": ""John"" },
""update"": { ""$set"": { ""age"": 32 } }
}",
connection);
var value = mongoDbCommand.ExecuteNonQuery();
connection.Close();
}
//ExecuteNonQuery updateMany
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(
@"updateMany b [{
""filter"": { ""name"": ""John"" },
""update"": { ""$set"": { ""age"": 32 } }
}]",
connection);
var value = mongoDbCommand.ExecuteNonQuery();
connection.Close();
}
//ExecuteNonQuery delete
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(
"delete b { name: \"John\" }",
connection);
var value = mongoDbCommand.ExecuteNonQuery();
connection.Close();
}
//ExecuteNonQuery delete
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(
"delete b { name: \"John\" }",
connection);
var value = mongoDbCommand.ExecuteNonQuery();
connection.Close();
}
//ExecuteNonQuery deleteMany
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(
"deleteMany b { age: { $lt: 30 } }",
connection);
var value = mongoDbCommand.ExecuteNonQuery();
connection.Close();
}
} }
private static void MongoDbConnectionTest() private static void MongoDbConnectionTest()