Ich habe eine Sammlung mit einem einzigartigen Feld darauf. Lassen Sie uns sagen, dass ich den Wert dieses einzigartigen Feld in der Pre speichern Methode wie folgt erstellen:Node.js Mungo, wie Fehler in der Post zu fangen, speichern
schema.pre('save', function (next) {
var _self = this;
try {
if (config.devMode) {
log.debug('[' + si.name + ':write] - Executing presave on: ' + _self._id);
}
if(!_self.transaction_id){
_self.transaction_id = powm(30).toLowerCase();
}
next();
} catch (e) {
log.error('[' + si.name + ':write] - threw an error (SAVE): ', e.stack, _self);
next(e);
}
});
Powm schafft eine aleatorischen String wie ‚dfjkfj3434jkl23k4j2k3j4asdf‘, die eindeutig sein muss. Obwohl der String lang genug ist, um nicht dupliziert zu werden, möchte ich sicher sein, dass ich das Speichern mit einem neuen wiederholen kann, bis ein wirklich einzigartiger Wert darauf steht.
ich MongoDB wissen wirft einen Fehler, der nach oben sprudelt, wenn das Dokument wie folgt zu speichern:
documentname.save(function(err, doc){
// If mongodb unique error then reset with a new id and resave
});
Aber das zwingt mich in den Code für alle Orte zu suchen, wo dies geschieht. Also habe ich mich gefragt, ob ich diesen Fehler in der Post-Mungo-Middleware finden kann. Das Problem ist, dass kein Fehlerobjekt an die post-save-Methode übergeben wird. Also, irgendeine Idee dazu? Vielen Dank!