如何使用mongodb更新模型时修复记录

时间:2011-02-01 10:37:17

标签: ruby-on-rails mongodb mongoid

我有一个使用mongodb的rails项目,我遇到的问题是我有以前模型制作的记录(文档)。 (我是错误的,只是为了较旧的记录)

使用某些命令是否可以通过快速方式修复这些mongodb文档。

或者是否有一个命令我可以使用mongoid运行它以在mongo中打开特定模型,然后我可以手动戳文档(删除不需要的关联)。

1 个答案:

答案 0 :(得分:0)

模式迁移的概念需要存在于mongoid中,我认为它不存在。如果您进行了简单的更改,例如重命名或删除字段,那么您可以使用更新语句轻松完成此操作,但是对于任何更复杂的更改,您将需要编写代码。

您需要编写的代码很可能需要转到驱动程序级别来更改对象,因为映射层不再兼容。

通常,在对象中进行模式更改时需要小心,因为服务器没有该概念并且无法强制执行。最终取决于您的代码或您正在使用的框架,以保持兼容性。

从映射层角度来看,在没有进行批量升级的情况下映射系统以保持同一模式时,这通常是一个问题。