Я хочу отключить _id из встроенных документов в моих моделях или удалить их.
Я пытался использовать операцию unset после создания документа, но поле _id по-прежнему остается. Я также не хочу хранить хэши, так как это кажется возможным решением.
Итак, если у меня есть два класса, как показано ниже, mongoid дает мне поле _id во вложенном объекте Address, когда я вижу коллекцию в Compass.
class User < RootClass
include Mongoid::Document
store_in collection: "users_table"
field :_id, type: String, default: ->{ userName }
field :userName, type: String
embeds_one :address, class_name: 'Address', cascade_callbacks: true
accepts_nested_attributes_for :address, allow_destroy: true
end
class Address < RootClass
include Mongoid::Document
embedded_in :User
field :address_line_one, type: String
field :address_line_two, type: String
field :address_line_three, type: String
end
{
"_id": "Person 1",
"address": {
"_id": 0, // I want to disable/remove this
"address_line_one": "Address line one",
"address_line_two": "Address line two",
"address_line_three": "Address line three",
}
}