How I can use sort function in findOne() function?

Since the _id is generated by the driver it is possible to have an “older” _id from a more recent document created by a driver running of a different machine where the clock is off.

The order might also be off if 2 clients create 2 documents with the same timestamp when the driver with lowest (5 bytes random value) creates the document after.

To really sort the document on the creation time, the safest way is to use a field initialized with $currentTime because $currentTime is evaluated by the server.