2016-10-14 135 views
0

我試圖創建一個名爲startTime和endTime類型爲Date和Number的字段的Schema。我想要做的是將startTime作爲當前時間,我現在正在工作,然後endTime比開始時間晚1小時。這是我現在的代碼,但我無法找出解決方案。 endTime沒有被保存到數據庫中。nodeJS日期和Mongoose保存到mongoDB

var Mongoose = require('mongoose'); 
var Schema = Mongoose.Schema; 
var testSchema = new Schema({ 
    startTime : {type: Date, default: Date.now, required: true}, 
    endTime : {type: Number, required: false}, 
}); 
testSchema.pre('save', function(next) { 
    var testDocument = this; 
    testDocument.endTime = Number(testDocument.startTime.valueOf() + 3600000); 
    next(); 
} 

回答

0

下次使用。設置endTime call next()後;

testSchema.pre('save', function(next) { 
     var testDocument = this; 
     testDocument.endTime = new Date(); 
     testDocument.endTime.setHours(testDocument.created_at.getHours() + 1) 
     next(); 
    }) 
+0

嗨,對不起,我在實際的代碼中使用next()。忘了在這裏上傳。 – user3513466

+0

您沒有使用該更新查詢,對嗎?使用與我在答案中發佈的代碼相同的代碼。它只會在您創建記錄時才起作用。 – Sachin

+0

在目前的情況下,你不需要使用更新查詢裏面的'保存'預鉤 – Sachin