I když si nejsem jistý významem req.body.starttime
, jsem si docela jistý, že hledáte objekty Schema pre()
funkce, která je součástí Mongoose Middleware a umožňuje provést definici funkcí zpětného volání před uložením dat. Něco takového pravděpodobně dělá požadovanou práci:
var RunSchema = new Schema({
[...]
starttime: {
type: Date,
default: Date.now
}
});
RunSchema.pre('save', function(next) {
this.starttime = new Date();
next();
});
Všimněte si, že funkce zpětného volání pro save
událost je volána pokaždé před vytvořením nebo aktualizací záznamu. Toto je například způsob, jak explicitně nastavit "upravené" časové razítko.
EDIT:
Díky vašemu komentáři jsem nyní lépe pochopil, čeho chcete dosáhnout. V případě, že chcete upravit data předtím, než budou přiřazena a uložena do záznamu, můžete snadno použít set
vlastnost schématu:
// defining set within the schema
var RunSchema = new Schema({
[...]
starttime: {
type: Date,
default: Date.now,
set: util.getDate
}
});
Za předpokladu, že objekt util
je v rozsahu (požadovaném nebo cokoli jiného), vaše aktuální implementace odpovídá podpisu pro vlastnost set
:
function set(val, schemaType)
Volitelný parametr schemaType
umožňuje zkontrolovat vlastnosti definice pole schématu, pokud na ní proces transformace nějakým způsobem závisí.