Есть документ, который содержит массив.
someField: [ 'ab', 'cd', 'ef', 'gh' ]
Чтобы удалить этот документ, нужно передать в mongoose массив со значениями ровно в таком же порядке, что сложно гарантировать. То есть, на входе может оказаться [ 'bc', ef', gh', 'ab' ], и тогда он не будет удален.
Когда я знаю, что в этом массиве может быть максимум два элемента, срабатывает такой хак:
schema.findOneAndDelete( { $or: [ { someField: [ 'ab', 'cd' ] }, { someField: [ 'cd', 'ab' ] } ] })
Но если элементов больше, то это уже не подойдет. Наверняка в mongo/mongoose есть какой-то механизм для этого.