2011-11-12 4 views
1

埋め込みドキュメントの_idを無効にすることはできますか?MongoMapper埋め込みIDを無効にする

たとえば、埋め込まれた子ドキュメントを持つ親を持っている場合。私が他の場所から子供を参照するつもりがない場合、子供が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に上書きすることができるかもしれません。

関連する問題