| PipelineDefinitionBuilderGraphLookupTInput, TIntermediate, TFrom Method (PipelineDefinitionTInput, TIntermediate, IMongoCollectionTFrom, FieldDefinitionTFrom, BsonValue, FieldDefinitionTFrom, BsonValue, AggregateExpressionDefinitionTIntermediate, BsonValue, FieldDefinitionBsonDocument, IEnumerableBsonDocument, FieldDefinitionBsonDocument, Int32) | 
 
            Appends a $graphLookup stage to the pipeline.
            
 
    Namespace: 
   MongoDB.Driver
    Assembly:
   MongoDB.Driver (in MongoDB.Driver.dll) Version: 2.12.2+a4a3888f4fb51bb518b1eb5002effc2d47f2ea6a
 Syntax
Syntaxpublic static PipelineDefinition<TInput, BsonDocument> GraphLookup<TInput, TIntermediate, TFrom>(
	this PipelineDefinition<TInput, TIntermediate> pipeline,
	IMongoCollection<TFrom> from,
	FieldDefinition<TFrom, BsonValue> connectFromField,
	FieldDefinition<TFrom, BsonValue> connectToField,
	AggregateExpressionDefinition<TIntermediate, BsonValue> startWith,
	FieldDefinition<BsonDocument, IEnumerable<BsonDocument>> as,
	FieldDefinition<BsonDocument, int> depthField = null
)
<ExtensionAttribute>
Public Shared Function GraphLookup(Of TInput, TIntermediate, TFrom) ( 
	pipeline As PipelineDefinition(Of TInput, TIntermediate),
	from As IMongoCollection(Of TFrom),
	connectFromField As FieldDefinition(Of TFrom, BsonValue),
	connectToField As FieldDefinition(Of TFrom, BsonValue),
	startWith As AggregateExpressionDefinition(Of TIntermediate, BsonValue),
	as As FieldDefinition(Of BsonDocument, IEnumerable(Of BsonDocument)),
	Optional depthField As FieldDefinition(Of BsonDocument, Integer) = Nothing
) As PipelineDefinition(Of TInput, BsonDocument)
[<ExtensionAttribute>]
static member GraphLookup : 
        pipeline : PipelineDefinition<'TInput, 'TIntermediate> * 
        from : IMongoCollection<'TFrom> * 
        connectFromField : FieldDefinition<'TFrom, BsonValue> * 
        connectToField : FieldDefinition<'TFrom, BsonValue> * 
        startWith : AggregateExpressionDefinition<'TIntermediate, BsonValue> * 
        as : FieldDefinition<BsonDocument, IEnumerable<BsonDocument>> * 
        ?depthField : FieldDefinition<BsonDocument, int> 
(* Defaults:
        let _depthField = defaultArg depthField null
*)
-> PipelineDefinition<'TInput, BsonDocument> 
Parameters
- pipeline
- Type: MongoDB.DriverPipelineDefinitionTInput, TIntermediate
 The pipeline.
- from
- Type: MongoDB.DriverIMongoCollectionTFrom
 The from collection.
- connectFromField
- Type: MongoDB.DriverFieldDefinitionTFrom, BsonValue
 The connect from field.
- connectToField
- Type: MongoDB.DriverFieldDefinitionTFrom, BsonValue
 The connect to field.
- startWith
- Type: MongoDB.DriverAggregateExpressionDefinitionTIntermediate, BsonValue
 The start with value.
- as
- Type: MongoDB.DriverFieldDefinitionBsonDocument, IEnumerableBsonDocument
 The as field.
- depthField (Optional)
- Type: MongoDB.DriverFieldDefinitionBsonDocument, Int32
 The depth field.
Type Parameters
- TInput
- The type of the input documents.
- TIntermediate
- The type of the intermediate documents.
- TFrom
- The type of the from documents.
Return Value
Type: 
PipelineDefinitionTInput, 
BsonDocumentThe fluent aggregate interface.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type 
PipelineDefinitionTInput, 
TIntermediate. 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