我目前正在处理Mongoid文档。我要做的是使用unset
方法删除字段。
class Record
include Mongoid::Document
field :count, type: Integer, default: 1
end
然后我创建了一个新数据:
record = Record.new
record.count # returns 1 by default
我还看了一下mongo控制台,那里就是场地。
当我这样做时:
record.unset(:count)
访问mongo控制台,该字段已消失,但当我尝试这个时:
record.inspect
我仍然可以看到count
字段。
我正在使用mongoid 3.1.6
答案 0 :(得分:1)
请理解'count'是您的Mongoid模式中针对类Record的已定义字段(感兴趣), 所以当你在客户端检查它时,Mongoid会报告它的价值, 即使你在服务器端取消了它。
如果您在检查客户端时不想“看到”计数字段, 您可以将其作为Mongoid架构中的已定义字段删除, 但是你将消除所有Mongoid方便的“点”字段访问和默认值,例如, 你必须通过记录['count']访问,不再有record.count访问者, 并且必须编制自己的默认值。
希望这有助于澄清事情。