| IAggregateFluentExtensionsLookupTResult, TForeignDocument, TAsElement, TAs, TNewResult Method (IAggregateFluentTResult, IMongoCollectionTForeignDocument, BsonDocument, PipelineDefinitionTForeignDocument, TAsElement, ExpressionFuncTNewResult, TAs, AggregateLookupOptionsTForeignDocument, TNewResult) | 
 
            Appends a lookup stage to the pipeline.
            
 
    Namespace: 
   MongoDB.Driver
    Assembly:
   MongoDB.Driver (in MongoDB.Driver.dll) Version: 2.12.2+a4a3888f4fb51bb518b1eb5002effc2d47f2ea6a
 Syntax
Syntaxpublic static IAggregateFluent<TNewResult> Lookup<TResult, TForeignDocument, TAsElement, TAs, TNewResult>(
	this IAggregateFluent<TResult> aggregate,
	IMongoCollection<TForeignDocument> foreignCollection,
	BsonDocument let,
	PipelineDefinition<TForeignDocument, TAsElement> lookupPipeline,
	Expression<Func<TNewResult, TAs>> as,
	AggregateLookupOptions<TForeignDocument, TNewResult> options = null
)
where TAs : Object, IEnumerable<TAsElement>
<ExtensionAttribute>
Public Shared Function Lookup(Of TResult, TForeignDocument, TAsElement, TAs As {Object, IEnumerable(Of TAsElement)}, TNewResult) ( 
	aggregate As IAggregateFluent(Of TResult),
	foreignCollection As IMongoCollection(Of TForeignDocument),
	let As BsonDocument,
	lookupPipeline As PipelineDefinition(Of TForeignDocument, TAsElement),
	as As Expression(Of Func(Of TNewResult, TAs)),
	Optional options As AggregateLookupOptions(Of TForeignDocument, TNewResult) = Nothing
) As IAggregateFluent(Of TNewResult)[<ExtensionAttribute>]
static member Lookup : 
        aggregate : IAggregateFluent<'TResult> * 
        foreignCollection : IMongoCollection<'TForeignDocument> * 
        let : BsonDocument * 
        lookupPipeline : PipelineDefinition<'TForeignDocument, 'TAsElement> * 
        as : Expression<Func<'TNewResult, 'TAs>> * 
        ?options : AggregateLookupOptions<'TForeignDocument, 'TNewResult> 
(* Defaults:
        let _options = defaultArg options null
*)
-> IAggregateFluent<'TNewResult>  when 'TAs : Object and IEnumerable<'TAsElement>
Parameters
- aggregate
- Type: MongoDB.DriverIAggregateFluentTResult
 The aggregate.
- foreignCollection
- Type: MongoDB.DriverIMongoCollectionTForeignDocument
 The foreign collection.
- let
- Type: MongoDB.BsonBsonDocument
 The "let" definition.
- lookupPipeline
- Type: MongoDB.DriverPipelineDefinitionTForeignDocument, TAsElement
 The lookup pipeline.
- as
- Type: System.Linq.ExpressionsExpressionFuncTNewResult, TAs
 The as field in TNewResult in which to place the results of the lookup pipeline.
- options (Optional)
- Type: MongoDB.DriverAggregateLookupOptionsTForeignDocument, TNewResult
 The options.
Type Parameters
- TResult
- The type of the result.
- TForeignDocument
- The type of the foreign collection documents.
- TAsElement
- The type of the as field elements.
- TAs
- The type of the as field.
- TNewResult
- The type of the new result.
Return Value
Type: 
IAggregateFluentTNewResultThe fluent aggregate interface.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type 
IAggregateFluentTResult. 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