使用 c# 保存更新 mongodb 中的帖子,而不删除新项目中不存在的旧值

本文关键字:删除 新项目 不存在 保存 更新 mongodb 使用 | 更新日期: 2023-09-27 17:56:11

我正在尝试使用 c# 中的 save 方法更新 mongoDB 中的现有文档。

如果新项包含旧项的所有属性,则此方法非常有效。但是,如果新项目不包含所有旧属性,则新项目未包含的属性将从旧项目中删除。有没有办法保持旧的价值观?

我想要的行为是这样的:

如果旧项包含属性而新项不包含 - 保留旧值

如果旧项包含属性,并且新项也包含 - 保留新值

如果旧项不包含属性,但新项包含 - 保留新值。

有什么方法可以实现吗?

使用 c# 保存更新 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; }