Nemohu říci, co je na vašem příkladu špatně, kromě toho, že na to jdete špatným způsobem. MongoDB poskytuje snazší, vestavěný způsob, jak odstranit položky z pole buď zadáním přesně, nebo pomocí dotazu:
Podívejte se na $pull
operátor
.
V mongoose by jeden způsob, jak to udělat, byl:
Article.findByIdAndUpdate(this._id, {
$pull: {
likes: {user: user._id}
}
}, cb);