我創建一個簡單的rails應用程序來修改現有的mongo數據庫中的數據。我使用mongoid進行交互,並且可以很好地讀取/銷燬對象。mongoid update_attributes改變數據類型
問題出現的是我的mongo文檔有一個'節點',它是一串鍵值對,因記錄而異。我使用的是標準軌
MongoObject.find(BSON::ObjectId('ABC1234567890'))
=> #<MongoObject _id: ABC1234567890, node: {"totallogins"=>11, "id"=>"logIns"}>
形成這樣才能使後期數據的模樣來更新值:當我加載像這樣的記錄
{"commit"=>"Edit", "utf8"=>"✓", "id"=>"ABC1234567890", "mongo_object"=>{"node"=>{"totallogins"=>"12", "id"=>"logIns"}}
如果我再做:
@mongo_object.update_attributes(params[:mongo_object])
這可以工作,但會將「totallogins」的數據類型從int更改爲字符串,因爲發佈數據是字符串。
現在積極的記錄處理這個本身,但我需要一個解決方案,將與mongoid一起工作。
任何想法我可以做到這一點?