1

我有一个在 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>
4

0 回答 0