我這里有點疑惑,這兩個 default: Date.now() 什么時候執行,我覺得是這個模塊一加載的時候就執行了,而不是等到業務上創建/更新 Movie 的時候才執行?

victorwoo
2014-07-07
1 回答
舉報
0/150
提交
取消
2014-07-08
對,這里的時間節點線可以分為: 1. new MovieSchema 2. mongoose.model('Movie', MovieSchema) 3. movie = new Movie({}) 那么 schema 的 defaults 是在 model 被 created 時初始化的,也就是 第二步,這里準確做法是為 schema 添加 pre save 預處理: if (this.isNew) { this.meta.createdAt = this.meta.updatedAt = Date.now }