2016-10-14 8 views
0

DateとNumber型のstartTimeとendTimeというフィールドを持つスキーマを作成しようとしています。私がしたいことは、startTimeを現在の作業時間とし、endTimeを開始時間より1時間遅くすることです。ここに私のコードはありますが、私は解決策を理解することができません。 endTimeはDBに保存されていません。次nodeJS 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コールを設定した後、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

関連する問題