2017-01-27 57 views
0

在保存其他属性设置器之前,猫鼬是否有可能获取_id?setter在保存之前获取猫鼬对象ID

例子我得到了一个字段“fileName”,并想让setter的函数将fieldName和objectId传递给其他函数进行处理。

+1

在保存文档之前,您可以使用'.pre('save')'事件挂钩来完成触发事件。 –

+0

所以我们可以说我使用pre('save'),然后处理所有字段,然后next()? – vivid

+0

是的,确切地说。做所有你需要的处理,然后再调用next()。该钩子将在每次保存该模型的文档之前运行。 –

回答

1

为了扩大我先前commment,你可以做这样的事情:

schema.pre('save', function(next) { 
    // do stuff 
    next(); 
}); 

注:.pre('save')钩不上的更新,如update()findOneAndUpdate()

运行还有一个.post('save', function() {})钩你也可以使用它。