假设我的 c# 模型更新了,而通讯集仍然包含旧文档,我希望新旧文档在集合中共存,同时仅使用新版本的 c# 模型来读取它们。如果可能的话,我希望不使用继承。所以我想知道其中哪些问题是可以解决的,以及如何解决:
c# 模型中有一个新属性,它不存在于数据库中。我认为它永远不应该是一个问题,Mongo对此一无所知,它将使用默认值初始化。这里唯一的问题是用所有旧文档的特定值初始化它,有人知道怎么做吗?
其中一项财产已从模型中消失。我希望 MongoDb 找出 c# 类中没有更多属性可以将旧文档的字段映射到,并忽略它而不是崩溃。这种情况可能听起来有点奇怪,因为这意味着数据库中会留下一些垃圾,但无论如何,这种行为是否可以实现/配置?
如果更改了类型,则新类型可转换为旧类型,例如整数->字符串。有没有办法为旧文档配置映射?
如果无法解决,我可以考虑将继承用于第二种情况