The difference is in a syntax.
Find
and FindAsync
both allows to build asynchronous query with the same performance, only
FindAsync
returns cursor which doesn’t load all documents at once and provides you interface to retrieve documents one by one from DB cursor. It’s helpful in case when query result is huge.
Find
provides you more simple syntax through method ToListAsync
where it inside retrieves documents from cursor and returns all documents at once.