| MongoQueryableFirstOrDefaultAsyncTSource Method (IMongoQueryableTSource, ExpressionFuncTSource, Boolean, CancellationToken) | 
 
            Returns the first element of a sequence that satisfies a specified condition or a default value if no such element is found.
            
 
    Namespace: 
   MongoDB.Driver.Linq
    Assembly:
   MongoDB.Driver (in MongoDB.Driver.dll) Version: 2.11.0+cb27a82ea70620ad1acad8058809be8302ae4f2a
 Syntax
Syntaxpublic static Task<TSource> FirstOrDefaultAsync<TSource>(
	this IMongoQueryable<TSource> source,
	Expression<Func<TSource, bool>> predicate,
	CancellationToken cancellationToken = null
)
<ExtensionAttribute>
Public Shared Function FirstOrDefaultAsync(Of TSource) ( 
	source As IMongoQueryable(Of TSource),
	predicate As Expression(Of Func(Of TSource, Boolean)),
	Optional cancellationToken As CancellationToken = Nothing
) As Task(Of TSource)
[<ExtensionAttribute>]
static member FirstOrDefaultAsync : 
        source : IMongoQueryable<'TSource> * 
        predicate : Expression<Func<'TSource, bool>> * 
        ?cancellationToken : CancellationToken 
(* Defaults:
        let _cancellationToken = defaultArg cancellationToken null
*)
-> Task<'TSource> 
Parameters
- source
- Type: MongoDB.Driver.LinqIMongoQueryableTSource
 An IMongoQueryableT to return an element from.
- predicate
- Type: System.Linq.ExpressionsExpressionFuncTSource, Boolean
 A function to test each element for a condition.
- cancellationToken (Optional)
- Type: System.ThreadingCancellationToken
 The cancellation token.
Type Parameters
- TSource
- The type of the elements of source.
Return Value
Type: 
TaskTSource
            default(
TSource) if 
source is empty or if no element passes the test specified by 
predicate; otherwise, the first element in 
source that passes the test specified by 
predicate.
            
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type 
IMongoQueryableTSource. When you use instance method syntax to call this method, omit the first parameter. For more information, see 
Extension Methods (Visual Basic) or 
Extension Methods (C# Programming Guide).
 See Also
See Also