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
変換プロセスが何らかの形でスキーマフィールド定義に依存している場合は、スキーマフィールド定義のプロパティを検査できます。