从mongoid数据库中删除属性

问题描述 投票:3回答:2

我在mongoid中有一个模型User,其属性为:country。我想从模型和任何现有的用户文档中删除此字段。我怎样才能做到这一点?

# user.rb
class User
  include Mongoid::Document

  field :name,     type: String
  #field :country,  type: String    --> field removed from model

end
ruby-on-rails database model mongoid
2个回答
2
投票

对于数据库中的所有用户:

User.all.each { |user| user.unset(:country) }

或者对于单个用户:

User.unset(:country)

0
投票

在Mongoid 3+中,User.all.unset(:country)将以原子方式取消所有User文档的字段:

https://www.rubydoc.info/github/mongoid/mongoid/Mongoid/Contextual/Atomic#unset-instance_method

© www.soinside.com 2019 - 2024. All rights reserved.