如果我将 MongoDB 与 Rails 结合使用,我可以使用 Active Record 关联吗?

yer*_*syl 7 ruby-on-rails mongodb ruby-on-rails-4

我计划使用 mongoDb 构建 Rails 应用程序,但我不知道我是否能够使用活动记录关联(例如多对多等)?另外,当我将 mongoDb 与 Rails 一起使用时,我是否将 Active Record ORM 替换为 mongoDB 的其他 ORM。抱歉,如果问题很愚蠢,我只是从未将 mongoDB (noSql) 与 Rails 一起使用。

osm*_*man 5

我相信您可以使用 mongoid,它作为 ODM - 对象文档映射器。

摘自 mongo 文档

您可以定义关联,将子文档存储在与父文档不同的集合中,如下所示:

 class Band
  include Mongoid::Document
  has_many :members
end
Run Code Online (Sandbox Code Playgroud)

您还可以定义关联,其中关系嵌入到父级中,如下所示

class Person
  include Mongoid::Document
  embeds_many :addresses
end
Run Code Online (Sandbox Code Playgroud)

检查此处的文档以了解更多信息 - https://docs.mongodb.org/ecosystem/tutorial/mongoid-relations/