2011-11-12 1 views
1

임베디드 문서의 _id를 비활성화 할 수 있습니까?MongoMapper 임베디드 ID 비활성화

예를 들어, 포함 된 하위 문서가있는 상위 문서가있는 경우. 아이가 다른 곳에서 참조 할 의도가 없다면 아이가 이드를 가지는 것은 무의미한 것처럼 보입니다.

class Parent 
    include MongoMapper::Document 
    one :child 
    key :name 
end 

class Child 
    include MongoMapper::EmbeddedDocument 
    key :name 
end 

parent = Parent.new(:name => 'parent', 
    :child => Child.new(:name => 'child')) 

puts parent.to_json 

{"id":"4ebeddde51d9e56dcb000006","name":"parent", 
"child":{ 
    "id":"4ebeddde51d9e56dcb000005", 
    "name":"child"}} 

답변

1

삽입 된 _id 필드를 제거 할 때 한마디로 말한 것을 기억합니다. 가장 좋은 방법은 직접 패치를 한 다음 끌어 오기 요청을 보내는 것입니다.

그렇지 않으면 id를 제거하는 구성 옵션이 없습니다. 당신이 모험을했다면 당신은 to_mongo를 덮어 쓸 수 있습니다.