2016-01-12 60 views
0

My Sails應用程序通過監視工件(日誌文件,導出等)和實時更改(事件,Web鉤子等)的混合來幫助監視我們系統的狀態。我可以(也應該)重寫Sails.js模型的createdAt和updatedAt屬性嗎?

在各種調度中,應用程序讀取工件並使用.findOrCreate().update()來更新Sails應用程序狀態。 Sails然後在保存時將實例createdAtupdatedAt屬性設置爲new Date();但是我希望這些時間能夠匹配他們的來源神器的時間戳。

如何覆蓋Sails.js模型的createdAtupdatedAt屬性的值?如果將它們設置爲特定的時間戳,會不會出現明顯的問題?

+0

到目前爲止我已經將數據存儲在獨立的屬性中,但我真的更喜歡重寫'createdAt'和'updatedAt'值。另外,我想了解這些字段對系統行爲的影響。 – STW

+0

你見過我的答案嗎?如果您有任何問題,請不要問 - 如果需要,請高興澄清。 – arcseldon

+0

謝謝,感謝。 – arcseldon

回答

1

在您的模型中,您可以關閉默認設置。

autoCreatedAt: false, 
autoUpdatedAt: false, 

您現在可以自由使用自己的值。您可以使用之前的更新lifecycle callback(如果需要)在更新模型之前添加任何額外的行爲。

例如:

beforeUpdate:function(values, next) { 
    // do whatever you need here if required. 
    // you could just override the default createdAt, updatedAt behaviour 
    next(); 
} 

similar question通過這裏核心的維護者回答。

如果這還不能滿足您的需求,請在下面給我留言,我會嘗試進一步更新答案。

+0

我有機會玩這個,並認爲它會起作用。設置'autoUpdatedAt:false'會從模型中刪除屬性,所以需要將它作爲'updatedAt:'datetime''添加到'attributes'中。 – STW

相關問題