我在Appfog上运行了一个测试应用程序。 Appfog文档建议使用Mongomapper gem,但我已经将Mongoid用于我的项目。 https://docs.appfog.com/services/mongodb
问题是:
Mongoid协会不起作用,但ids就在那里。
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>