我想使用post findOneAndUpdate中间件来保存我所有猫鼬模型更改的日志数据。
我在三个地方使用findOneAndUpdate:
- Update Model's data - change Model status - archive / restore Model
所以当我使用postOneAndUpdate中间件后,我想知道三个findOneAndUpdate中的一个被执行了。
有没有办法将参数从findOneAndUpdate传递到postOneAndUpdate中间件。?
有我的代码:
控制器:invoices.js
update: function (request, response, next) {
//checking general invoice information
request.checkBody(typeValidationSchema);
request.getValidationResult().then(function(result) {
if (!result.isEmpty()) return response.apiError(result.array());
else {
Invoice.findOneAndUpdate({
_id: request.params.invoiceId,
createdBy: request.user._id
}, request.body, {'new': true, 'runValidators': true}).exec(function (error, invoice) {
if (error) response.apiError(error);
if (!invoice) return response.apiNotFound();
else return response.apiResponse(invoice);
});
}
});
},
模型架构:invoice.js
InvoiceSchema.post('findOneAndUpdate', function(doc) {
// I want to get her some variables passed from controller findOneAndUpdate
});