2011-02-01 63 views
0

我有一个使用mongodb的rails项目,我遇到的问题是当我有从以前的模型制成的记录(文档)。 (我刚开始克拉斯错误,只是为了更旧的记录)如何修复模型更新mongodb时的记录

有没有一种快速的方法来修复这些mongodb文件的轨道方式,使用一些命令。

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

+1

您必须编写一个mongo查询来更改需要更改的文档。在mongodb中不存在这样的模型,这纯粹是一些抽象层,由您正在使用的某个应用程序库顶层构建。 – 2011-02-01 10:47:08

回答

0

模式迁移的概念需要在mongoid中存在,我不认为它是这样。如果你已经做了简单的改变,如重命名或删除字段,那么你可以很容易地用update语句做到这一点,但对于任何更复杂的事情,你都需要编写代码。

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

一般来说,当您在对象中进行架构更改时需要小心,因为服务器没有这个概念并且无法强制执行它们。它最终取决于您的代码或您正在使用的框架,以保持兼容性。

这通常是一个问题,当你没有做批量升级让事情在相同的架构,从映射层角度映射系统。