gpt4 book ai didi

c# - 如何编写更新查询来更新 mongodb 中的多个字段?

转载 作者:IT老高 更新时间:2023-10-28 13:19:55 26 4
gpt4 key购买 nike

如何编写此更新查询以在 c# 中更新 mongo 记录。

db.collection.update({ "S_Id" : 110 },{ "Name" : "Name1","Batch" : "43","Date":"9/2/2011",  "Status" : 0 }); 

我正在尝试这样

IMongoUpdate update = new UpdateDocument();
if (Named != null) { update = Update.Set("Name", "Name1"); }
if (Date != null) { update = Update.Set("Date", "18/02/2013"); }
if (Batch != null) { update = Update.Set("Batch",43); }
coll.Update(query, update);

我做的是否正确,或者我必须以什么方式做,请让我以正确的方式继续。

最佳答案

在您的示例中,您可能会为每个选项覆盖 update 的值,因此只会向 col1.Update() 发送单个更新命令。

你会想使用 Update.Combine 方法,有点像这样:(未经测试,有点难看...)

    var updateValues = new List<UpdateBuilder>();
if (Named != null) { updateValues.Add(Update.Set("Name", "Name1")); }
if (Date != null) { updateValues.Add(Update.Set("Date", "18/02/2013")); }
if (Batch != null) { updateValues.Add(Update.Set("Batch", 43)); }
IMongoUpdate update = Update.Combine(updateValues);
coll.Update(query, update);

关于c# - 如何编写更新查询来更新 mongodb 中的多个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14937581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com