我有一个在 Appfog 运行的测试应用程序。Appfog 文档建议使用 Mongomapper gem,但我在我的项目中使用了 Mongoid。https://docs.appfog.com/services/mongodb
问题是:
Mongoid 关联不起作用,但 id 就在那里。
m = Movie.find_by(:name => "Argo")
m.actors
=> []
m.actor_ids
=> ["510a092553c205c294000040", "510a099b53c205c2940001ce", "510a09a553c205c2940001ef", "510a0a4653c205c2940003ca", "510a0aaa53c205c2940004b2"]
当我使用托管在 MongoHQ 的数据库时,关联工作正常。但是我不想单独托管应用程序和数据库,因为网络延迟会增加每个数据库查询的时间。
任何想法可能是错误的以及如何解决它?
更新:
appfog 的 Mongoid 版本是 1.8.5,我的本地机器上它工作的 mongoid 版本是 2.2.0。
两者的以下内容相同:
m.actors.metadata
=> #<Mongoid::Relations::Metadata
autobuild: false
class_name: Actor
cyclic: nil
dependent: nil
inverse_of: nil
key: actor_ids
macro: has_and_belongs_to_many
name: actors
order: nil
polymorphic: false
relation: Mongoid::Relations::Referenced::ManyToMany
setter: actors=
versioned: false>