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

发布于 2024-10-15 14:03:37 字数 213 浏览 0 评论 0原文

我有一个使用 mongodb 的 Rails 项目,我遇到的问题是当我有从以前的模型制作的记录(文档)时。 (我遇到了 klass 错误,只是针对较旧的记录)

是否有一种快速方法可以使用某些命令以 Rails 方式修复这些 mongodb 文档。

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

I have a rails project that uses mongodb, the issue i am having is when i have records (documents) made from a previous model. (i'm gettin klass errors, just for the older records)

Is there a quick way to fix those mongodb documents the rails way, using some command.

Or is there a command i can run with mongoid for it to open the specific model up in mongo, then i can poke with the document manually (removing unneeded associations).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦过后 2024-10-22 14:03:37

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

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

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

从映射层的角度来看,当您映射系统而不进行批量升级以保持相同架构时,这通常是一个问题。

The concept of schema migration would need to exist in mongoid and I don't think it does. If you have made simple changes like renaming or removing fields then you can easily do that with an update statement, but for anything more complicated you will need to write code.

The code you will need to write will most likely need to go down to the driver level to alter the objects since the mapping layer is no longer compatible.

In general you need to be careful when you make schema changes, in your objects, since the server doesn't have that concept and can't enforce them. It is ultimately up to your code, or the framework you are using, to maintain compatibility.

This is generally an issue when you mapping system without doing batch upgrades to keep things at the same schema, from the mapping layer perspective.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文