在MongoMapper中获取嵌入式文档父文档ID

时间:2011-06-22 23:36:24

标签: ruby mongomapper

假设以下模型。

class Person
  include MongoMapper::Document

  key :name, String
  key :surname, String

  many :children
end

class Child
  include MongoMapper::EmbeddedDocument

  key :name, String
end

另外,以下查询(与Sinatra):

get 'child/:id' do
  @child = Child.find(params[:id])
end

有没有办法获得该儿童所属的人的身份证?

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找的是:

class Child
  include MongoMapper::EmbeddedDocument

  embedded_in :parent
  key :name, String
end

我不太确定你的查询是如何工作的 - 我没有看到Child类上有一个查找,因为它是一个EmbeddedDocument。但是:

Person.where("children._id" => params[:id]).first.parent

应该有用。