Is FindOneAndDelete atomic?

I’m using mongo-go-driver which implemented FindOneAndDelete based on FindAndModify. From the function behavior, we know there will be two stages of the function. First, find the document, second, delete the document. If two threads at the client side call the FindOneAndDelete at the same time with same filter, I want to know whether MongoDB uses multi-threads to handle requests, if so, let’s say if two threads of MongoDB both find the document, will both of them return success? Or just one of them?

Thanks