Mongoose middleware doesn't fire on update
calls, so you'd need to do it yourself:
var expires = new Date();
expires.setHours(expires.getHours() + 1);
MyModel.update({...}, {$set: {expires: expires, ...}}, {upsert: true}, callback);
Also, I don't know your use case, but you should also look at Mongo's built-in support for expiring data from collections if that's what you're trying to do. See here.