Anche se non sono sicuro del significato di req.body.starttime
, sono abbastanza sicuro che stai cercando gli oggetti Schema pre()
funzione che fa parte di Mongoose Middleware e consente di eseguire la definizione delle funzioni di callback prima del salvataggio dei dati. Probabilmente qualcosa del genere fa il lavoro desiderato:
var RunSchema = new Schema({
[...]
starttime: {
type: Date,
default: Date.now
}
});
RunSchema.pre('save', function(next) {
this.starttime = new Date();
next();
});
Nota che la funzione di callback per il save
l'evento viene chiamato ogni volta prima della creazione o dell'aggiornamento di un record. Quindi questo è ad esempio il modo per impostare esplicitamente un timestamp "modificato".
MODIFICA:
Grazie al tuo commento, ora ho una migliore comprensione di ciò che vuoi ottenere. Nel caso in cui desideri modificare i dati prima che vengano assegnati e mantenuti nel record, puoi facilmente utilizzare il set
proprietà dello Schema:
// defining set within the schema
var RunSchema = new Schema({
[...]
starttime: {
type: Date,
default: Date.now,
set: util.getDate
}
});
Supponendo che l'oggetto util
rientra nell'ambito (richiesto o altro) la tua attuale implementazione si adatta alla firma per la proprietà set
:
function set(val, schemaType)
Il parametro facoltativo schemaType
consente di esaminare le proprietà della definizione del campo dello schema se il processo di trasformazione dipende in qualche modo da essa.