【发布时间】:2012-06-03 03:04:49
【问题描述】:
我需要某个模型来包含对文档的引用。大多数模型可以存储在 postgres 中。该模型用于游戏中的“关卡”。我想将关卡数据本身存储在文档中,这比在 sql 中制作复杂的树更有意义。
我可以使用安装了 mongoid 的 postgres;但是,在安装了 mongoid gem 之后,我似乎只能搭建 mongoid(非活动记录)文档。
问题是我有对其他表的引用,我不一定知道如何在 mongoid 模型中将其链接起来。
问题:
如何强制使用活动记录而不是 mongoid 进行脚手架,反之亦然。 编辑:部分回答在这里:Using Active Record generators after Mongoid installation?(第二个答案有效,但我不知道如何轻松地来回走动)
是否有一种简单的方法可以从活动记录模型中引用文档(我知道文档中说不要混合它们,但它非常适合我正在尝试做的事情)。
如果不能混合使用,我应该如何从 postgres/活动记录表中引用文档。换句话说,我怎样才能同时获得两条数据?
谢谢!
【问题讨论】:
-
为什么不将关卡数据作为 JSON blob 存储在同一个表或同一个 postgresql 数据库中的相邻表中?
-
这是可行的,但我只是觉得在 postgres 中存储一个 json blob 并不是适合这项工作的工具。一旦它进入那里,它也是不可读的。然后拉出来的时候,每次都需要解析。然后将其重新放入后将其字符串化。我的意思是,如果您正在创建一个文档,而不是使用面向文档的数据库,那么面向文档的数据库有什么意义呢?速度很好,但不像 postgres 很慢。
标签: ruby-on-rails postgresql mongodb activerecord mongoid