C# 更新方法不工作
在尝试使用MongoDB时,编写了一个更新方法,该方法将名称作为参数,如果名称存在,则将其替换为OneylC# 更新方法不工作,c#,mongodb,C#,Mongodb,在尝试使用MongoDB时,编写了一个更新方法,该方法将名称作为参数,如果名称存在,则将其替换为Oneyl public void updateTry(string name) { var mongoClient = new MongoClient("mongodb://localhost"); var database = mongoClient.GetDatabase("football"); var coll = da
public void updateTry(string name) {
var mongoClient = new MongoClient("mongodb://localhost");
var database = mongoClient.GetDatabase("football");
var coll = database.GetCollection<BsonDocument>("Footballers");
var documents = coll.Find(new BsonDocument()).ToList();
for (int i = 0; i < documents.Count(); i++) {
if (documents[i].ContainsValue(name)) {
documents[i].Set("Name", "Oneyl");
}
}
}
public void updatery(字符串名称){
var mongoClient=新的mongoClient(“mongodb://localhost");
var database=mongoClient.GetDatabase(“football”);
var coll=database.GetCollection(“足球运动员”);
var documents=coll.Find(new BsonDocument()).ToList();
对于(int i=0;i
我试图使用一个简单的c#结构来实现我的目标,但是欢迎任何mongodb输入,例如查询,但是如果您决定提供一些查询,请解释它们。
不确定我是否正确使用了Set方法。“Name”是数据库中的实际字段。您可以使用如下代码,也可以使用完美的代码。我需要了解您的文档格式或结构,为您提供示例,以便能够更新您的文档
MongoClient _client = new MongoClient();
_database = _client.GetDatabase("Store");
var collection = _database.GetCollection<BsonDocument>("Customers");
var filter = Builders<BsonDocument>.Filter.Eq("_id", new BsonObjectId(new ObjectId(_id)));
var update = Builders<BsonDocument>.Update.Set("CompanyName", CompanyName_str)
.Set("ContactName", ContactName_str)
.Set("ContactTitle", ContactTitle_str)
.Set("Address", Address_str)
.Set("City", City_str)
.Set("Region", Region_str)
.Set("PostalCode", PostalCode_str)
.Set("Country", Country_str)
.Set("Phone", Phone_str);
try
{
collection.UpdateOne(filter, update);
IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
}
catch (MongoWriteException mwx)
{
if (mwx.WriteError.Category == ServerErrorCategory.DuplicateKey)
{
// mwx.WriteError.Message contains the duplicate key error message
}
}
MongoClient\u client=new MongoClient();
_database=_client.GetDatabase(“存储”);
var collection=_database.GetCollection(“客户”);
var filter=Builders.filter.Eq(“_id”,新的BsonObjectId(新的ObjectId(_id));
var update=Builders.update.Set(“CompanyName”,CompanyName\u str)
.Set(“ContactName”,ContactName\u str)
.Set(“ContactTitle”,ContactTitle\u str)
.Set(“地址”,地址\u str)
.Set(“城市”,城市街)
.Set(“Region”,Region_str)
.Set(“PostalCode”,PostalCode\u str)
.Set(“国家”,国家/地区)
.Set(“Phone”,Phone_str);
尝试
{
collection.UpdateOne(过滤器,更新);
IdentityHelper.RedirectToReturnUrl(Request.QueryString[“ReturnUrl”],响应);
}
捕获(MongoWriteException mwx)
{
if(mwx.WriteError.Category==ServerErrorCategory.DuplicateKey)
{
//mwx.WriteError.Message包含重复的密钥错误消息
}
}