我(并且应该)是否可以覆盖Sails.js模型的createdAt和updatedAt属性?

时间:2016-01-12 21:20:38

标签: sails.js

My Sails应用程序通过监视工件(日志文件,导出等)和实时更改(事件,Web挂钩等)的混合来帮助监视系统状态。

在各种计划中,应用程序读取工件并使用.findOrCreate().update()来更新Sails应用程序状态。然后,Sails会在保存时将实例createdAtupdatedAt属性设置为new Date();但是我喜欢这些时间来匹配他们的源工件的时间戳。

如何覆盖Sails.js模型的createdAtupdatedAt属性的值?将它们设置为特定的时间戳会不会有任何明显的问题?

1 个答案:

答案 0 :(得分:1)

在您的模型中,您可以关闭默认值。

autoCreatedAt: false,
autoUpdatedAt: false,

您现在可以自由使用自己的值。您可以使用 beforeUpdate 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

如果这仍然无法满足您的需求,请在下面给我留言,我会尝试进一步更新答案。