【问题标题】:Sails.js / Waterline - Modify the createdAt and updatedAt throws an error : Anchor does not support functions yetSails.js / Waterline - 修改 createdAt 和 updatedAt 会引发错误:Anchor 尚不支持函数
【发布时间】:2017-01-16 11:23:23
【问题描述】:

我尝试为 createdAt 和 updated 实现时间戳,但我无法使其工作。每次它抛出以下错误: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();
    }

 };

【问题讨论】:

    标签: node.js express sails.js waterline


    【解决方案1】:

    我可以在这里看到 2 个错误。

    1. getTime 是一个函数,所以如果你想使用它,你应该像 new Date().getTime() 那样使用它,但在这种情况下,你感兴趣的值只是 new Date()

    2. 方法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;
       }
    
     };
    

    【讨论】:

      猜你喜欢
      • 2014-09-19
      • 2018-10-08
      • 2019-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-10
      • 1970-01-01
      • 2022-12-02
      相关资源
      最近更新 更多