MongoMapper Schakel Embedded ID uit

Is het mogelijk om _id voor ingesloten documenten uit te schakelen?

Bijvoorbeeld als u een ouder hebt met een ingesloten onderliggende document. het lijkt een beetje zinloos voor het kind om een ​​ID te hebben als ik niet van plan ben om het kind ergens anders te raadplegen.

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

1 antwoord

Ik herinner me dat er op een gegeven moment sprake was van het verwijderen van het veld _id voor een ingesloten veld. Beste gok zou zijn om het zelf te patchen en dan een pull-aanvraag te sturen.

Anders is er geen configuratieoptie om de id te verwijderen. Je zou to_mongo kunnen overschrijven als je avontuurlijk was.

1
toegevoegd