req.body.starttimeの意味はわかりませんが 、Schemaオブジェクトを探していると確信していますpre() マングースミドルウェアの一部であり、データが保存される前にコールバック関数の定義を実行できるようにする関数。おそらく、このようなものが目的の仕事をします:
var RunSchema = new Schema({
[...]
starttime: {
type: Date,
default: Date.now
}
});
RunSchema.pre('save', function(next) {
this.starttime = new Date();
next();
});
saveのコールバック関数に注意してください イベントは、レコードが作成または更新される前に毎回呼び出されます。したがって、これはたとえば、「変更された」タイムスタンプを明示的に設定する方法です。
編集:
あなたのコメントのおかげで、私はあなたが何を達成したいのかをよりよく理解することができました。データが割り当てられてレコードに永続化される前にデータを変更する場合は、setを簡単に利用できます。 スキーマのプロパティ:
// defining set within the schema
var RunSchema = new Schema({
[...]
starttime: {
type: Date,
default: Date.now,
set: util.getDate
}
});
オブジェクトがutilであると仮定します 現在の実装がプロパティsetの署名に適合している範囲内(必須またはその他) :
function set(val, schemaType)
オプションのパラメータschemaType 変換プロセスが何らかの形でスキーマフィールド定義に依存している場合は、スキーマフィールド定義のプロパティを検査できます。