I have a problem with removing an object in mongoose. I have the schema
shareholder.model.js
const Shareholder = mongoose.Schema({
name: String,
shares: [
{
type: mongoose.Schema.Types.Mixed, ref: 'shares'
}
],
})
mongoose.model('Shareholder', Shareholder)
So I'm trying to remove an object from 'shares' field
shareholder.service.js
// {shareholderId} id of object
// {shareId} unique id which have every object of the array
async function removeShareFromShareholder(shareholderId, shareId) {
try {
await Shareholder.findByIdAndUpdate(shareholderId,
{ $pull : { 'shares' : { '_id' : shareId } }},
{ safe: true })
}
} catch (error) {
throw new Error(`removeShareFromShareholder service error: ${error}`)
}
}
But code above doesn't work
Can you give me an advice