Un modo per realizzare questo è quello di utilizzare Mongoose Middleware e aggiornare il campo di pre-save.
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
//schema
var SomethingSchema = new Schema({
text: {type: String},
createdAt: {type: Date, default: Date.now},
updatedAt: {type: Date, default: Date.now}
});
//middle ware in serial
SomethingSchema.pre('save', function preSave(next){
var something = this;
something.updatedAt(Date.now());
next();
});
Sembra, tuttavia, che il middleware non è sempre invocato:
Note findAndUpdate()
pre
e post
non sono chiamati per le operazioni di aggiornamento eseguito direttamente sul database, incluso Model.update
, .findByIdAndUpdate
, .findOneAndUpdate
, .findOneAndRemove
e .findByIdAndRemove
. ordine per utilizzare il middleware pre
o post
, Si dovrebbe find()
il documento e chiamare le funzioni init
, validate
, o remove
sul documento. Vedi explanation.
Aggiornamento: Vai a questa domanda "add created_at and updated_at fields to mongoose schemas"
fonte
2014-04-10 21:09:16
Mi dispiace, non credo che questo risponde alla domanda. La domanda non era "come posso creare una stringa ISO". –
Ecco come si crea una stringa ISO valida da inserire in Mongo. – greenimpala