2012-06-22 28 views
0

我想创建一个网站,用户可以在其中创建自己的教学资源,例如,与嵌入式图像文字块等如何在Rails应用程序中存储用户生成的内容

我应该如何存储在轨道数据库中?我听说mongoDB适用于存储文档,但我打算使用postgresql作为用户数据库等,并且已经阅读了一般不应该混合不同类型的db的问题。我确定这是一个明显的问题但我找不到任何地方的答案...

感谢,

格雷厄姆

回答

1

有几件事情你可以做。

1.使用PostgreSQL的同时为用户表和TeachingResources表。您可以简单地使用text类型的content列来保存所有数据。


2.使用PostgreSQL的但使用HStore功能基本上您选择的store a hash of objects,这给你更多的灵活性。 Rails 4将support this by default,但也有一个gem你可以使用。


3.使用PostgreSQL和MongoDB(或任何其它的NoSQL解决方案)在您的应用程序的组合。我不认为这是一个坏的解决方案,但它确实让你在Rails的“新用户约束”之外,因此这可能不是最好的途径入手


4.转到NoSQL一路。没有理由不应该为您的用户模型使用MongoDB。但是,这种类型的数据存储无法提供完整的保证,因此请小心产品规划并了解其漏洞(也是其优势)。

+0

感谢您提供全面的答案,非常有用的概述,我现在可以用它作为了解更多信息的起点。 –

相关问题