Node.js 默认值的Mongoose调用函数

Node.js 默认值的Mongoose调用函数,node.js,mongoose,Node.js,Mongoose,我有一个Mongoose模式,通过调用函数为字段指定默认值 我的模式 function fun(){ let curr_time = moment().format(); return curr_time; }; let flagged_trans_schema = new Schema({ time: {type: Date, default: fun}, }); 我在这里面临一个问题,当我写default:fun时,时间字段没有得到更新,但当我写default:f

我有一个Mongoose模式,通过调用函数为字段指定默认值

我的模式

function fun(){
    let curr_time = moment().format();
    return curr_time;
};

let flagged_trans_schema = new Schema({
    time: {type: Date, default: fun},
});
我在这里面临一个问题,当我写default:fun时,时间字段没有得到更新,但当我写default:fun时,时间字段值每次都在更新

有人能告诉我为什么会这样吗?

使用default:fun将默认值设置为声明模式时调用fun函数的结果。只要一次,默认值将是所有新创建的模型实例的值,或者可能是数据库中未设置时间字段的文档的值

使用default:fun将默认值设置为引用fun函数,Mongoose非常聪明,知道这意味着它应该在每次创建新模型实例时调用该函数。

使用default:fun将默认值设置为在声明模式时调用fun函数的结果。只要一次,默认值将是所有新创建的模型实例的值,或者可能是数据库中未设置时间字段的文档的值


使用默认值:fun将默认值设置为引用fun函数,Mongoose非常聪明,知道这意味着它应该在每次创建新的模型实例时调用该函数。

但问题是我的IDE,它是webstorm,正在关闭默认行,不知道为什么会这样做?我也不知道,我自己不使用WebStorm。试着引用default:default:fun,但问题是我的IDE,它是webstorm,正在关闭默认行,不知道为什么会这样做?我也不知道,我自己也不使用webstorm。尝试引用default:default:fun