管理类结构中的更改以与mongodb集合保持一致

时间:2011-09-23 04:25:53

标签: mongodb mongodb-.net-driver

我们正在使用mongodb和c#。我们正试图找到一种方法来保持我们的集合无缝一致。现在,如果开发人员对类结构进行了任何更改(添加字段或更改数据类型或更改嵌套类中的属性),他/她必须手动更改mongo集合。

随着我们项目的不断发展以及从事该项目的开发人员不断增加,这很痛苦。想知道某人是否已经找到了解决这个问题的方法。

  • 研究
    1. 我找到了similar question。但是,找不到解决方案。
    2. 找到了查找所有属性的方法Finding the properties;但是,数据类型和嵌套文档会成为一个问题。

1 个答案:

答案 0 :(得分:1)

如果要在访问记录时逐渐迁移,则需要遵循一些简单的规则:

1)如果添加字段,最好可以为空或者指定默认值。

2)切勿重命名字段,切勿更改字段类型 - 而是始终添加新字段,添加迁移代码,仅在迁移所有文档时删除旧字段。

使用MongoDB和C#进行原型设计我构建了一个dynamic wrapper ...,它允许您使用 only 接口指定对象(不需要类),并且它允许您动态添加新接口到现有的对象。尚未准备好用于生产,但是为了进行原型设计,它可以节省大量精力并使迁移变得非常简单。