【发布时间】:2011-07-06 16:23:32
【问题描述】:
我正在创建一个简单的 rails 应用程序来修改现有 mongo 数据库中的数据。我正在使用 mongoid 进行交互,并且可以很好地读取/销毁对象。
问题来了,我的 mongo 文档有一个“节点”,它是一堆键值对,取决于记录。当我像这样加载记录时:
MongoObject.find(BSON::ObjectId('ABC1234567890'))
=> #<MongoObject _id: ABC1234567890, node: {"totallogins"=>11, "id"=>"logIns"}>
我正在使用标准 rails 表单来更新值,因此发布数据如下所示:
{"commit"=>"Edit", "utf8"=>"✓", "id"=>"ABC1234567890", "mongo_object"=>{"node"=>{"totallogins"=>"12", "id"=>"logIns"}}
如果我这样做:
@mongo_object.update_attributes(params[:mongo_object])
这可行,但会将“totallogins”的数据类型从 int 更改为字符串,因为发布数据是字符串。
现在活动记录本身可以解决这个问题,但我需要一个可以与 mongoid 一起使用的解决方案。
有什么想法可以做到这一点吗?
【问题讨论】:
标签: ruby-on-rails mongodb mongoid