2017-01-27 84 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() {})鉤你也可以使用它。