Так что это кажется довольно простым, но я не могу заставить его работать. У меня есть документ в mongodb, и я использую mon goose Все, что мне нужно сделать, это найти пользователя по идентификатору, получить документ и удалить один указанный объект из массива объектов. Вот структура:
report:[
{
asset_report_id:234,
name:'somethign,
},
{
asset_report_id:23,
name:'somethign,
},
{
asset_report_id:111,
name:'somethign,
}
]
Я пробовал это:
User.findOne({_id: request.decodedTokenData.userId})
.exec()
.then(user=>{
const result = user.reports.find( ({ asset_report_id }) => asset_report_id === assetID );
console.log('IN FIND',result);
})
.catch(err=>console.log(err))
Теперь я получаю отличный результат, и я могу удалить, но нет способа сделать это с пн goose напрямую? Больше по строкам простого mon go версии:
db.removeObject.update( {'_id':ObjectId("5c6ea036a0c51185aefbd14f")},
{$pull:{"reports":{"asset_report_id":234}}},false,true);