我想创建一个网站,用户可以在其中创建自己的教学资源,例如,与嵌入式图像文字块等如何在Rails应用程序中存储用户生成的内容
我应该如何存储在轨道数据库中?我听说mongoDB适用于存储文档,但我打算使用postgresql作为用户数据库等,并且已经阅读了一般不应该混合不同类型的db的问题。我确定这是一个明显的问题但我找不到任何地方的答案...
感谢,
格雷厄姆
我想创建一个网站,用户可以在其中创建自己的教学资源,例如,与嵌入式图像文字块等如何在Rails应用程序中存储用户生成的内容
我应该如何存储在轨道数据库中?我听说mongoDB适用于存储文档,但我打算使用postgresql作为用户数据库等,并且已经阅读了一般不应该混合不同类型的db的问题。我确定这是一个明显的问题但我找不到任何地方的答案...
感谢,
格雷厄姆
有几件事情你可以做。
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。但是,这种类型的数据存储无法提供完整的保证,因此请小心产品规划并了解其漏洞(也是其优势)。
感谢您提供全面的答案,非常有用的概述,我现在可以用它作为了解更多信息的起点。 –