2012-12-20 37 views
3

我想從我的Mongo集合中的記錄更新屬性,但新值不被保存。Mongoid - 保存和update_attribute不會持續

a = GraphEngine::UserPlace.where(place_id:5000000701039).first 
a.place_id = 5000000257690 
a.save! 
=> true 

如果我檢查a,該place_id體現了新的價值,5000000257690,但是當我再次載入記錄,新place_id不會保留。

任何想法爲什麼這種情況?我檢查過以確保沒有重複的記錄。我也嘗試過a.update_attribute(:place_id,5000000257690),但沒有運氣。它返回=> true,但該值不會持續。

+0

這似乎是一個太大的int,不是?你是否嘗試過較小的IDS? – MrYoshiji

+0

@MrYoshiji如果type是bigint,這有什麼關係嗎?我能夠最初創建帶有bigint值的對象。 – Huy

+0

Mongo將bigint和tinyint全部視爲整數。 – Huy

回答

5

檢查是否可以訪問place_id。如果沒有添加類似這樣的模型:

attr_accessible :place_id 
+1

謝謝,愚蠢的錯誤。顯然,即使屬性不允許批量分配,mongo仍然會返回true。 – Huy