Я использую mon goose Model.findOneAndupdate () , чтобы найти и обновить мой документ, и в моей модели есть хук post
, для которого я пытаюсь обновить другой документ ,
Проблема, с которой я сталкиваюсь, заключается в том, что post
крючок запускается дважды.
Моя модель:
const mongoose = require('mongoose')
const componentSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
component: {
type: String,
required: true
},
message: {
type: String
},
bodyJson: {
type: mongoose.Schema.Types.Mixed
},
question: {
type: String
}
})
componentSchema.post('findOneAndUpdate', function (result) {
console.log('came here')
})
module.exports = mongoose.model('Component', componentSchema)
В моем журнале сервера я вижу, что came here
вошел дважды.
обновление:
try {
await Component.findOneAndUpdate(query, req.body, { new: true }, function (error, doc) {
if (doc) {
return res.status(200).json({ data: doc })
} else if (error) {
return res.status(400).json({ errors: error.message })
} else res.status(404).json({ errors: 'Not found' })
})
} catch (error) {
logger.error('error while updating order: ' + error)
return res.status(400).json({ errors: error.message })
}
луна goose Используемая версия - 5.8.11