1
我想要的屬性標誌設置爲false,像這樣的屬性:設置在mongoid
Model.where(:s_id => s_id).flag = false
(我S_ID),但它沒有工作 ,這一次沒有工作過:
Model.find(s_id).flag = false
任何幫助?
我想要的屬性標誌設置爲false,像這樣的屬性:設置在mongoid
Model.where(:s_id => s_id).flag = false
(我S_ID),但它沒有工作 ,這一次沒有工作過:
Model.find(s_id).flag = false
任何幫助?
您的代碼存在的問題是您已更改flag
屬性,但之後未保存該文檔。有很多不同的方法可以處理這個問題,其中大部分內容詳見persistence section of the documentation。
如果你只更新一個模型,你有ID,你可以使用update_attribute
方法:
Model.find(id).update_attribute(:flag, false)
的update_attribute
方法更新屬性(明顯),但隨後也對文件要求save
,堅持數據庫中的更改。你可以做的很長的路要走實現這一點:或者
m = Model.find(id)
m.flag = false
m.save
,如果你想更新一組模型,從標準(如where
法),你可以使用update_all
:
Model.where(:flag => true).update_all(:flag => false)