使用 c# 保存更新 mongodb 中的帖子,而不删除新项目中不存在的旧值
本文关键字:删除 新项目 不存在 保存 更新 mongodb 使用 | 更新日期: 2023-09-27 17:56:11
我正在尝试使用 c# 中的 save 方法更新 mongoDB 中的现有文档。
如果新项包含旧项的所有属性,则此方法非常有效。但是,如果新项目不包含所有旧属性,则新项目未包含的属性将从旧项目中删除。有没有办法保持旧的价值观?
我想要的行为是这样的:
如果旧项包含属性而新项不包含 - 保留旧值
如果旧项包含属性,并且新项也包含 - 保留新值
如果旧项不包含属性,但新项包含 - 保留新值。
有什么方法可以实现吗?
我在 c# 中使用 omu.valueinjecter 解决了这个问题
protected override bool Match(ConventionInfo c)
{
bool retval = (
c.SourceProp.Name == c.TargetProp.Name)
&& (c.SourceProp.Value != null
&& c.TargetProp.Value == null);
return retval;
}