In short:
findOneAndDelete()returns the deleted document after having deleted it (in case you need its contents after the delete operation);deleteOne()is used to delete a single documentremove()is a deprecated function and has been replaced bydeleteOne()(to delete a single document) anddeleteMany()(to delete multiple documents)
findOneAndDelete() should be able to delete on _id.