ruby-on-rails - 如何从 Mongoid 模型中删除属性,即不仅仅是取消它们的值

标签 ruby-on-rails mongoid

我正在尝试 Mongoid 中的多态关联

class Group
    include Mongoid::Document
    belongs_to :groupable, polymorphic: true
end

class Album
    include Mongoid::Document
    has_many :groups, as: groupable
end

然后我决定不这样做。所以我删除了上面所有的belongs_to和has_many行。然而在控制台中,每当我获得我尝试过的组记录时,它仍然具有此“groupable_type”属性。我知道remove_attribute会使属性无效,但不会删除它(听起来有点像JavaScript)。我怎样才能真正从 Mongoid 的数据库中删除这个属性?

最佳答案

你可以这样做:

Group.collection.update({},
                        {'$unset' => {:groupable_type => 1}},
                        :multi => true)

关于ruby-on-rails - 如何从 Mongoid 模型中删除属性,即不仅仅是取消它们的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144299/

相关文章:

ruby-on-rails - 我需要直接调用 Math 类吗?

authentication - Mongoid 和 has_secure_password

mysql - 安装 mysql2 gem : Failed to build gem native extension 时出错

javascript - 如何在 ajax 成功重定向上设置 flash 消息

ruby-on-rails-3 - 如何从 Mongoid 直接访问 MongoDB API?

ruby-on-rails - mongoid 中 embeds_many 和 has_many 的区别

ruby-on-rails-3 - MongoID,在多个文档中嵌入一个文档

ruby-on-rails - MongoDB/Mongoid : search for documents matching first item in array

ruby-on-rails - ActiveJob 序列化 : no call to deserialize

ruby-on-rails - 如何在使用 Devise 和 Rails 登录后将用户定向到特定页面