2

我目前正在使用 mongoid 试水,并且到目前为止已经开始在电子商务商店中使用。现在当然 mongoid 没有交易,所以我希望在大多数应用程序中使用 mongoid,包括身份验证、授权、产品信息等。

但是,缺少事务需要返回到 rdbms。rdbms 将纯粹用于记录金融交易。

这在rails中是否可行,有人做过吗?

一般来说,我对 rails 的经验有限,但我想将安全部分安装为引擎,并将 url 范围限定在 secure.myapp.com 或 myapp.com/secure/ 下,并且用户将被重定向到 ssl,而 rack 负责处理事情像共享会话。

这行得通吗?或者有没有人找到更好的方法来实现这一点?

4

2 回答 2

1

可以混合使用 mongoDB 和传统的 RDMS,但是如果您希望 ActiveRecord 对象与 MongoDB 对象进行通信,您可能需要进行一些额外的编码,因为 ORM 是不同的。请记住,虽然 MongoDB 确实不支持跨多个文档的事务,但它确实支持“事务性”原子更新——这意味着如果您要更新的所有数据都包含在单个文档中,您不必担心关于交易。MongoDB 还支持安全更新,允许您验证数据是否已写入 n 个不同的副本服务器并已持久化到磁盘。

至于 HTTPS 和 HTTP 之间的共享会话 - 这不是您必须担心的事情。您将会话存储定义为 MongoDB、MySQL、Memcached 或我的建议是 Cookie。只要您将域定义为“.myapp.com”,cookie 就会在您的应用程序的所有子域之间共享,而不管协议如何。

于 2011-01-04T06:22:06.820 回答
0

虽然我不能直接评论问题的 Rails 方面,但与第一个发布者的回复一样,MongoDB 确实支持事务更新。在 Mongo 或 RDBMS 中实现整个系统可能更简单。

真正的问题是在这里使用 mongo 的动机是什么?您希望从文档数据库模型中获得什么?您只是想将 RoR 对象直接撕成 mongo 吗?

只是一个建议,(抽象地)但您可以预先严格定义您的对象,并在您的 RDBMS 中表示该定义。如果您没有明确的使用 Mongo 的动机,它可能会为您节省大量时间。Mongo 是一项很棒的技术,但它最适合对数据进行排序和对数据进行编目,而不是表示严格的数据结构(不是说它不能这样做,而是必然,但是使用文档数据库,您可以更灵活地处理每个数据的内容数据库中的对象)。

祝你好运!

于 2011-01-04T07:05:51.937 回答