我尝试为createdAt实现时间戳并更新但我无法使其正常工作。每次它抛出以下错误:Anchor还不支持函数!
在 Entity.js :
中 module.exports = {
autoCreatedAt: 'created_ts',
autoUpdatedAt: 'updated_ts',
attributes: {
entity_name : {
type : 'string'
},
creationDate: {
columnName: 'created_ts',
type: 'datetime',
defaultsTo: function() {return new Date().getTime;}
},
updateDate: {
columnName: 'updated_ts',
type: 'datetime',
defaultsTo: function() {return new Date().getTime;}
},
toJSON: function() {
var obj = this.toObject();
delete obj.createdAt;
delete obj.updatedAt;
return obj;
}
},
beforeUpdate:function(values,next) {
values.updateDate = new Date().getTime;
next();
}
};
答案 0 :(得分:2)
我在这里可以看到2个错误。
getTime
是一个函数,所以如果您想使用它,您应该像new Date().getTime()
一样使用它,但在这种情况下,您感兴趣的值只是new Date()
方法toJSON
不应属于属性。并且已删除的属性的名称现在不正确。
修复后的代码:
module.exports = {
autoCreatedAt: 'created_ts',
autoUpdatedAt: 'updated_ts',
attributes: {
entity_name : {
type : 'string'
},
creationDate: {
columnName: 'created_ts',
type: 'datetime',
defaultsTo: function() {return new Date();}
},
updateDate: {
columnName: 'updated_ts',
type: 'datetime',
defaultsTo: function() {return new Date();}
}
},
beforeUpdate:function(values,next) {
values.updateDate = new Date();
next();
},
toJSON: function() {
var obj = this.toObject();
delete obj.creationDate;
delete obj.updateDate;
return obj;
}
};