2015-04-16 40 views

回答

1

是的,這是可能的。你需要了解embeds_one的工作原理。當你說:

embeds_one :model2 

Mongoid做一些簡單的事情:

  1. 添加一個Hash場稱爲model2
  2. 在Mongoid中嵌入Hash的包裝,以便它像任何其他文檔一樣工作。
  3. 安排在嵌入式Hashfield指定的任何其他字段中包含通常的_id字段。

所以你真的只是一堆嵌套哈希工作,您查詢像任何其他嵌入式哈希嵌入文檔:

Model1.where('model2.model3.some_field' => 11)